

<!DOCTYPE html>
<html class="writer-html5" lang="en" data-content_root="./">
<head>
  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />

  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>pymatgen.io.qchem package &mdash; pymatgen 2025.6.14 documentation</title>
      <link rel="stylesheet" type="text/css" href="assets/pygments.css?v=03e43079" />
      <link rel="stylesheet" type="text/css" href="assets/css/theme.css?v=e59714d7" />
      <link rel="stylesheet" type="text/css" href="assets/css/custom.css" />

  
    <link rel="canonical" href="https://pymatgen.orgpymatgen.io.qchem.html"/>
      <script src="assets/jquery.js?v=5d32c60e"></script>
      <script src="assets/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
      <script src="assets/documentation_options.js?v=03bec786"></script>
      <script src="assets/doctools.js?v=9bcbadda"></script>
      <script src="assets/sphinx_highlight.js?v=dc90522c"></script>
    <script src="assets/js/theme.js"></script>
    <link rel="index" title="Index" href="genindex.html" />
    <link rel="search" title="Search" href="search.html" /> 
</head>

<body class="wy-body-for-nav"> 
  <div class="wy-grid-for-nav">
    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
      <div class="wy-side-scroll">
        <div class="wy-side-nav-search"  style="background: linear-gradient(0deg, rgba(23,63,162,1) 0%, rgba(0,70,192,1) 100%)" >

          
          
          <a href="index.html">
            
          </a>
<div role="search">
  <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
    <input type="hidden" name="check_keywords" value="yes" />
    <input type="hidden" name="area" value="default" />
  </form>
</div>
        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
              <!-- Local TOC -->
              <div class="local-toc"><ul>
<li><a class="reference internal" href="#">pymatgen.io.qchem package</a><ul>
<li><a class="reference internal" href="#submodules">Submodules</a></li>
<li><a class="reference internal" href="#module-pymatgen.io.qchem.inputs">pymatgen.io.qchem.inputs module</a><ul>
<li><a class="reference internal" href="#pymatgen.io.qchem.inputs.QCInput"><code class="docutils literal notranslate"><span class="pre">QCInput</span></code></a><ul>
<li><a class="reference internal" href="#pymatgen.io.qchem.inputs.QCInput.almo_template"><code class="docutils literal notranslate"><span class="pre">QCInput.almo_template()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.inputs.QCInput.cdft_template"><code class="docutils literal notranslate"><span class="pre">QCInput.cdft_template()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.inputs.QCInput.find_sections"><code class="docutils literal notranslate"><span class="pre">QCInput.find_sections()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.inputs.QCInput.from_file"><code class="docutils literal notranslate"><span class="pre">QCInput.from_file()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.inputs.QCInput.from_multi_jobs_file"><code class="docutils literal notranslate"><span class="pre">QCInput.from_multi_jobs_file()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.inputs.QCInput.from_str"><code class="docutils literal notranslate"><span class="pre">QCInput.from_str()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.inputs.QCInput.geom_opt_template"><code class="docutils literal notranslate"><span class="pre">QCInput.geom_opt_template()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.inputs.QCInput.get_str"><code class="docutils literal notranslate"><span class="pre">QCInput.get_str()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.inputs.QCInput.molecule_template"><code class="docutils literal notranslate"><span class="pre">QCInput.molecule_template()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.inputs.QCInput.multi_job_string"><code class="docutils literal notranslate"><span class="pre">QCInput.multi_job_string()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.inputs.QCInput.nbo_template"><code class="docutils literal notranslate"><span class="pre">QCInput.nbo_template()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.inputs.QCInput.opt_template"><code class="docutils literal notranslate"><span class="pre">QCInput.opt_template()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.inputs.QCInput.pcm_nonels_template"><code class="docutils literal notranslate"><span class="pre">QCInput.pcm_nonels_template()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.inputs.QCInput.pcm_template"><code class="docutils literal notranslate"><span class="pre">QCInput.pcm_template()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.inputs.QCInput.plots_template"><code class="docutils literal notranslate"><span class="pre">QCInput.plots_template()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.inputs.QCInput.read_almo"><code class="docutils literal notranslate"><span class="pre">QCInput.read_almo()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.inputs.QCInput.read_cdft"><code class="docutils literal notranslate"><span class="pre">QCInput.read_cdft()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.inputs.QCInput.read_geom_opt"><code class="docutils literal notranslate"><span class="pre">QCInput.read_geom_opt()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.inputs.QCInput.read_molecule"><code class="docutils literal notranslate"><span class="pre">QCInput.read_molecule()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.inputs.QCInput.read_nbo"><code class="docutils literal notranslate"><span class="pre">QCInput.read_nbo()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.inputs.QCInput.read_opt"><code class="docutils literal notranslate"><span class="pre">QCInput.read_opt()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.inputs.QCInput.read_pcm"><code class="docutils literal notranslate"><span class="pre">QCInput.read_pcm()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.inputs.QCInput.read_pcm_nonels"><code class="docutils literal notranslate"><span class="pre">QCInput.read_pcm_nonels()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.inputs.QCInput.read_plots"><code class="docutils literal notranslate"><span class="pre">QCInput.read_plots()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.inputs.QCInput.read_rem"><code class="docutils literal notranslate"><span class="pre">QCInput.read_rem()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.inputs.QCInput.read_scan"><code class="docutils literal notranslate"><span class="pre">QCInput.read_scan()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.inputs.QCInput.read_smx"><code class="docutils literal notranslate"><span class="pre">QCInput.read_smx()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.inputs.QCInput.read_solvent"><code class="docutils literal notranslate"><span class="pre">QCInput.read_solvent()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.inputs.QCInput.read_svp"><code class="docutils literal notranslate"><span class="pre">QCInput.read_svp()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.inputs.QCInput.read_vdw"><code class="docutils literal notranslate"><span class="pre">QCInput.read_vdw()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.inputs.QCInput.rem_template"><code class="docutils literal notranslate"><span class="pre">QCInput.rem_template()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.inputs.QCInput.scan_template"><code class="docutils literal notranslate"><span class="pre">QCInput.scan_template()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.inputs.QCInput.smx_template"><code class="docutils literal notranslate"><span class="pre">QCInput.smx_template()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.inputs.QCInput.solvent_template"><code class="docutils literal notranslate"><span class="pre">QCInput.solvent_template()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.inputs.QCInput.svp_template"><code class="docutils literal notranslate"><span class="pre">QCInput.svp_template()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.inputs.QCInput.van_der_waals_template"><code class="docutils literal notranslate"><span class="pre">QCInput.van_der_waals_template()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.inputs.QCInput.write_multi_job_file"><code class="docutils literal notranslate"><span class="pre">QCInput.write_multi_job_file()</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#module-pymatgen.io.qchem.outputs">pymatgen.io.qchem.outputs module</a><ul>
<li><a class="reference internal" href="#pymatgen.io.qchem.outputs.QCOutput"><code class="docutils literal notranslate"><span class="pre">QCOutput</span></code></a><ul>
<li><a class="reference internal" href="#pymatgen.io.qchem.outputs.QCOutput.as_dict"><code class="docutils literal notranslate"><span class="pre">QCOutput.as_dict()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.outputs.QCOutput.multiple_outputs_from_file"><code class="docutils literal notranslate"><span class="pre">QCOutput.multiple_outputs_from_file()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#pymatgen.io.qchem.outputs.check_for_structure_changes"><code class="docutils literal notranslate"><span class="pre">check_for_structure_changes()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.outputs.get_percentage"><code class="docutils literal notranslate"><span class="pre">get_percentage()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.outputs.gradient_parser"><code class="docutils literal notranslate"><span class="pre">gradient_parser()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.outputs.hessian_parser"><code class="docutils literal notranslate"><span class="pre">hessian_parser()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.outputs.jump_to_header"><code class="docutils literal notranslate"><span class="pre">jump_to_header()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.outputs.nbo_parser"><code class="docutils literal notranslate"><span class="pre">nbo_parser()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.outputs.orbital_coeffs_parser"><code class="docutils literal notranslate"><span class="pre">orbital_coeffs_parser()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.outputs.parse_hybridization_character"><code class="docutils literal notranslate"><span class="pre">parse_hybridization_character()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.outputs.parse_hyperbonds"><code class="docutils literal notranslate"><span class="pre">parse_hyperbonds()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.outputs.parse_natural_populations"><code class="docutils literal notranslate"><span class="pre">parse_natural_populations()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.outputs.parse_perturbation_energy"><code class="docutils literal notranslate"><span class="pre">parse_perturbation_energy()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.outputs.z_int"><code class="docutils literal notranslate"><span class="pre">z_int()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#module-pymatgen.io.qchem.sets">pymatgen.io.qchem.sets module</a><ul>
<li><a class="reference internal" href="#pymatgen.io.qchem.sets.ForceSet"><code class="docutils literal notranslate"><span class="pre">ForceSet</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.sets.FreqSet"><code class="docutils literal notranslate"><span class="pre">FreqSet</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.sets.OptSet"><code class="docutils literal notranslate"><span class="pre">OptSet</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.sets.PESScanSet"><code class="docutils literal notranslate"><span class="pre">PESScanSet</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.sets.QChemDictSet"><code class="docutils literal notranslate"><span class="pre">QChemDictSet</span></code></a><ul>
<li><a class="reference internal" href="#pymatgen.io.qchem.sets.QChemDictSet.write"><code class="docutils literal notranslate"><span class="pre">QChemDictSet.write()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#pymatgen.io.qchem.sets.SinglePointSet"><code class="docutils literal notranslate"><span class="pre">SinglePointSet</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.sets.TransitionStateSet"><code class="docutils literal notranslate"><span class="pre">TransitionStateSet</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#module-pymatgen.io.qchem.utils">pymatgen.io.qchem.utils module</a><ul>
<li><a class="reference internal" href="#pymatgen.io.qchem.utils.lower_and_check_unique"><code class="docutils literal notranslate"><span class="pre">lower_and_check_unique()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.utils.process_parsed_coords"><code class="docutils literal notranslate"><span class="pre">process_parsed_coords()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.utils.process_parsed_fock_matrix"><code class="docutils literal notranslate"><span class="pre">process_parsed_fock_matrix()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.utils.process_parsed_hess"><code class="docutils literal notranslate"><span class="pre">process_parsed_hess()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.utils.read_matrix_pattern"><code class="docutils literal notranslate"><span class="pre">read_matrix_pattern()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.utils.read_pattern"><code class="docutils literal notranslate"><span class="pre">read_pattern()</span></code></a></li>
<li><a class="reference internal" href="#pymatgen.io.qchem.utils.read_table_pattern"><code class="docutils literal notranslate"><span class="pre">read_table_pattern()</span></code></a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
        </div>
      </div>
    </nav>

    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu"  style="background: linear-gradient(0deg, rgba(23,63,162,1) 0%, rgba(0,70,192,1) 100%)" >
          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
          <a href="index.html">pymatgen</a>
      </nav>

      <div class="wy-nav-content">
        <div class="rst-content style-external-links">
          <div role="navigation" aria-label="Page navigation">
  <ul class="wy-breadcrumbs">
      <li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li>
      <li class="breadcrumb-item active">pymatgen.io.qchem package</li>
      <li class="wy-breadcrumbs-aside">
              <a href="https://github.com/materialsproject/pymatgen/blob/master/docs_rst/pymatgen.io.qchem.rst" class="fa fa-github"> Edit on GitHub</a>
      </li>
  </ul>
  <hr/>
</div>
          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
           <div itemprop="articleBody">
             
  <section id="module-pymatgen.io.qchem">
<span id="pymatgen-io-qchem-package"></span><h1>pymatgen.io.qchem package<a class="headerlink" href="#module-pymatgen.io.qchem" title="Link to this heading"></a></h1>
<p>This package implements modules for input and output to and from Qchem.</p>
<section id="submodules">
<h2>Submodules<a class="headerlink" href="#submodules" title="Link to this heading"></a></h2>
</section>
<section id="module-pymatgen.io.qchem.inputs">
<span id="pymatgen-io-qchem-inputs-module"></span><h2>pymatgen.io.qchem.inputs module<a class="headerlink" href="#module-pymatgen.io.qchem.inputs" title="Link to this heading"></a></h2>
<p>Classes for reading/manipulating/writing QChem input files.</p>
<dl class="py class">
<dt class="sig sig-object py" id="pymatgen.io.qchem.inputs.QCInput">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">QCInput</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">molecule</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="pymatgen.core.html#pymatgen.core.structure.Molecule" title="pymatgen.core.structure.Molecule"><span class="pre">Molecule</span></a><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">list</span><span class="p"><span class="pre">[</span></span><a class="reference internal" href="pymatgen.core.html#pymatgen.core.structure.Molecule" title="pymatgen.core.structure.Molecule"><span class="pre">Molecule</span></a><span class="p"><span class="pre">]</span></span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'read'</span></span><span class="p"><span class="pre">]</span></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rem</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">opt</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">list</span><span class="p"><span class="pre">]</span></span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pcm</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">solvent</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">smx</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scan</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">list</span><span class="p"><span class="pre">]</span></span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">van_der_waals</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">float</span><span class="p"><span class="pre">]</span></span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">vdw_mode</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'atomic'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">plots</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">nbo</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">geom_opt</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cdft</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">dict</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">almo_coupling</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">tuple</span><span class="p"><span class="pre">[</span></span><span class="pre">int</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">int</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">svp</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pcm_nonels</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/inputs.py#L32-L1273"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.inputs.QCInput" title="Link to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="pymatgen.io.html#pymatgen.io.core.InputFile" title="pymatgen.io.core.InputFile"><code class="xref py py-class docutils literal notranslate"><span class="pre">InputFile</span></code></a></p>
<p>An object representing a QChem input file. QCInput attributes represent different sections of a QChem input file.
To add a new section one needs to modify __init__, __str__, from_sting and add static methods
to read and write the new section i.e. section_template and read_section. By design, there is very little (or no)
checking that input parameters conform to the appropriate QChem format, this responsible lands on the user or a
separate error handling software.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>molecule</strong> (<em>pymatgen Molecule object</em><em>, </em><em>list</em><em> of </em><em>Molecule objects</em><em>, or </em><em>&quot;read&quot;</em>) – Input molecule(s). molecule can be set as a pymatgen Molecule object, a list of such
Molecule objects, or as the string “read”. “read” can be used in multi_job QChem input
files where the molecule is read in from the previous calculation.</p></li>
<li><p><strong>rem</strong> (<em>dict</em>) – A dictionary of all the input parameters for the REM section of QChem input file.
Ex. rem = {‘method’: ‘rimp2’, ‘basis’: ‘6-31*G++’ … }</p></li>
<li><p><strong>opt</strong> (<em>dict</em><em> of </em><em>lists</em>) – A dictionary of opt sections, where each opt section is a key and the corresponding
values are a list of strings. Strings must be formatted as instructed by the QChem manual.
The different opt sections are: CONSTRAINT, FIXED, DUMMY, and CONNECT
Ex. opt = {“CONSTRAINT”: [“tors 2 3 4 5 25.0”, “tors 2 5 7 9 80.0”], “FIXED”: [“2 XY”]}</p></li>
<li><p><strong>pcm</strong> (<em>dict</em>) – A dictionary of the PCM section, defining behavior for use of the polarizable continuum model.
Ex: pcm = {“theory”: “cpcm”, “hpoints”: 194}</p></li>
<li><p><strong>solvent</strong> (<em>dict</em>) – A dictionary defining the solvent parameters used with PCM.
Ex: solvent = {“dielectric”: 78.39, “temperature”: 298.15}</p></li>
<li><p><strong>smx</strong> (<em>dict</em>) – A dictionary defining solvent parameters used with the SMD method, a solvent method that adds
short-range terms to PCM.
Ex: smx = {“solvent”: “water”}</p></li>
<li><p><strong>scan</strong> (<em>dict</em><em> of </em><em>lists</em>) – A dictionary of scan variables. Because two constraints of the same type are allowed (for instance, two
torsions or two bond stretches), each TYPE of variable (stre, bend, tors) should be its own key in the
dict, rather than each variable. Note that the total number of variable (sum of lengths of all lists)
CANNOT be
more than two.
Ex. scan = {“stre”: [“3 6 1.5 1.9 0.1”], “tors”: [“1 2 3 4 -180 180 15”]}</p></li>
<li><p><strong>van_der_waals</strong> (<em>dict</em>) – A dictionary of custom van der Waals radii to be used when constructing cavities for the PCM
model or when computing, e.g. Mulliken charges. They keys are strs whose meaning depends on
the value of vdw_mode, and the values are the custom radii in angstroms.</p></li>
<li><p><strong>vdw_mode</strong> (<em>str</em>) – Method of specifying custom van der Waals radii - ‘atomic’ or ‘sequential’.
In ‘atomic’ mode (default), dict keys represent the atomic number associated with each
radius (e.g., 12 = carbon). In ‘sequential’ mode, dict keys represent the sequential
position of a single specific atom in the input structure.</p></li>
<li><p><strong>plots</strong> (<em>dict</em>) – A dictionary of all the input parameters for the plots section of the QChem input file.</p></li>
<li><p><strong>nbo</strong> (<em>dict</em>) – A dictionary of all the input parameters for the nbo section of the QChem input file.</p></li>
<li><p><strong>geom_opt</strong> (<em>dict</em>) – A dictionary of input parameters for the geom_opt section of the QChem input file.
This section is required when using the new libopt3 geometry optimizer.</p></li>
<li><p><strong>cdft</strong> (<em>list</em><em> of </em><em>lists</em><em> of </em><em>dicts</em>) – <p>A list of lists of dictionaries, where each dictionary represents a charge constraint in the
cdft section of the QChem input file.</p>
<p>Each entry in the main list represents one state (allowing for multi-configuration calculations
using constrained density functional theory - configuration interaction (CDFT-CI).
Each state is represented by a list, which itself contains some number of constraints
(dictionaries).</p>
<p>Ex:</p>
<p>1. For a single-state calculation with two constraints:
cdft=[[</p>
<blockquote>
<div><p>{“value”: 1.0, “coefficients”: [1.0], “first_atoms”: [1], “last_atoms”: [2], “types”: [None]},
{“value”: 2.0, “coefficients”: [1.0, -1.0], “first_atoms”: [1, 17], “last_atoms”: [3, 19],</p>
<blockquote>
<div><p>”types”: [“s”]}</p>
</div></blockquote>
</div></blockquote>
<p>]]</p>
<p>Note that a type of None will default to a charge constraint (which can also be accessed by
requesting a type of “c” or “charge”.</p>
<p>2. For a multi-reference calculation:
cdft=[</p>
<blockquote>
<div><dl class="simple">
<dt>[</dt><dd><dl class="simple">
<dt>{“value”: 1.0, “coefficients”: [1.0], “first_atoms”: [1], “last_atoms”: [27],</dt><dd><p>”types”: [“c”]},</p>
</dd>
<dt>{“value”: 0.0, “coefficients”: [1.0], “first_atoms”: [1], “last_atoms”: [27],</dt><dd><p>”types”: [“s”]},</p>
</dd>
</dl>
</dd>
</dl>
<p>],
[</p>
<blockquote>
<div><dl class="simple">
<dt>{“value”: 0.0, “coefficients”: [1.0], “first_atoms”: [1], “last_atoms”: [27],</dt><dd><p>”types”: [“c”]},</p>
</dd>
<dt>{“value”: -1.0, “coefficients”: [1.0], “first_atoms”: [1], “last_atoms”: [27],</dt><dd><p>”types”: [“s”]},</p>
</dd>
</dl>
</div></blockquote>
<p>]</p>
</div></blockquote>
<p>]</p>
</p></li>
<li><p><strong>almo_coupling</strong> (<em>list</em><em> of </em><em>lists</em><em> of </em><em>int 2-tuples</em>) – <dl>
<dt>A list of lists of int 2-tuples used for calculations of diabatization and state coupling calculations</dt><dd><p>relying on the absolutely localized molecular orbitals (ALMO) methodology. Each entry in the main
list represents a single state (two states are included in an ALMO calculation). Within a single
state, each 2-tuple represents the charge and spin multiplicity of a single fragment.</p>
</dd>
<dt>ex: almo=[</dt><dd><blockquote>
<div><dl class="simple">
<dt>[</dt><dd><p>(1, 2),
(0, 1)</p>
</dd>
</dl>
<p>],
[</p>
<blockquote>
<div><p>(0, 1),
(1, 2)</p>
</div></blockquote>
<p>]</p>
</div></blockquote>
<p>]</p>
</dd>
</dl>
</p></li>
<li><p><strong>svp</strong> (<em>dict</em>) – <p>Settings for the ISOSVP solvent model, corresponding to the $svp section
of the Q-Chem input file, which is formatted as a FORTRAN namelist. Note that in pymatgen, these
parameters are typically not set by the user, but rather are populated automatically by an InputSet.</p>
<dl>
<dt>An example for water may look like:</dt><dd><dl class="simple">
<dt>{</dt><dd><p>“RHOISO”: “0.001”,
“DIELST”: “78.36”,
“NPTLEB”: “1202”,
“ITRNGR”: “2”,
“IROTGR”: “2”,
“IPNRF”: “1”,
“IDEFESR”: “1”,</p>
</dd>
</dl>
<p>}</p>
</dd>
</dl>
<p>See <a class="reference external" href="https://manual.q-chem.com/6.0/subsec_SS(V)PE.html">https://manual.q-chem.com/6.0/subsec_SS(V)PE.html</a> in the Q-Chem manual for more
details.</p>
</p></li>
<li><p><strong>pcm_nonels</strong> (<em>dict</em>) – <p>Settings for the non-electrostatic part of the CMIRS solvation
model, corresponding to the $pcm_nonels section of the Q-Chem input file/ Note that in pymatgen,
these parameters are typically not set by the user, but rather are populated automatically by an
InputSet.</p>
<dl>
<dt>An example for water may look like:</dt><dd><dl class="simple">
<dt>{</dt><dd><p>“a”: “-0.006496”,
“b”: “0.050833”,
“c”: “-566.7”,
“d”: “-30.503”,
“gamma”: “3.2”,
“solvrho”: “0.05”,
“delta”: 7,
“gaulag_n”: 40,</p>
</dd>
</dl>
<p>}</p>
</dd>
</dl>
<p>See <a class="reference external" href="https://manual.q-chem.com/6.0/example_CMIRS-water.html">https://manual.q-chem.com/6.0/example_CMIRS-water.html</a> in the Q-Chem manual for more details.</p>
</p></li>
</ul>
</dd>
</dl>
<dl class="py method">
<dt class="sig sig-object py" id="pymatgen.io.qchem.inputs.QCInput.almo_template">
<em class="property"><span class="k"><span class="pre">static</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">almo_template</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">almo_coupling</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">tuple</span><span class="p"><span class="pre">[</span></span><span class="pre">int</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">int</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">str</span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/inputs.py#L717-L742"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.inputs.QCInput.almo_template" title="Link to this definition"></a></dt>
<dd><dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>almo</strong> – list of lists of int 2-tuples.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>ALMO coupling section.</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p>str</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="pymatgen.io.qchem.inputs.QCInput.cdft_template">
<em class="property"><span class="k"><span class="pre">static</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">cdft_template</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cdft</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">dict</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">str</span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/inputs.py#L671-L715"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.inputs.QCInput.cdft_template" title="Link to this definition"></a></dt>
<dd><dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>cdft</strong> – list of lists of dicts.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>CDFT section.</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p>str</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="pymatgen.io.qchem.inputs.QCInput.find_sections">
<em class="property"><span class="k"><span class="pre">static</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">find_sections</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">list</span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/inputs.py#L777-L800"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.inputs.QCInput.find_sections" title="Link to this definition"></a></dt>
<dd><p>Find sections in the string.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>string</strong> (<em>str</em>) – String</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>List of sections.</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="pymatgen.io.qchem.inputs.QCInput.from_file">
<em class="property"><span class="k"><span class="pre">classmethod</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">from_file</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">Path</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Self</span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/inputs.py#L382-L394"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.inputs.QCInput.from_file" title="Link to this definition"></a></dt>
<dd><p>Create QcInput from file.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>filename</strong> (<em>str</em>) – Filename</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>QcInput</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="pymatgen.io.qchem.inputs.QCInput.from_multi_jobs_file">
<em class="property"><span class="k"><span class="pre">classmethod</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">from_multi_jobs_file</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">Self</span><span class="p"><span class="pre">]</span></span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/inputs.py#L396-L411"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.inputs.QCInput.from_multi_jobs_file" title="Link to this definition"></a></dt>
<dd><p>Create list of QcInput from a file.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>filename</strong> (<em>str</em>) – Filename</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>List of QCInput objects</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="pymatgen.io.qchem.inputs.QCInput.from_str">
<em class="property"><span class="k"><span class="pre">classmethod</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">from_str</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Self</span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/inputs.py#L308-L369"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.inputs.QCInput.from_str" title="Link to this definition"></a></dt>
<dd><p>Read QcInput from string.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>string</strong> (<em>str</em>) – String input.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>QcInput</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="pymatgen.io.qchem.inputs.QCInput.geom_opt_template">
<em class="property"><span class="k"><span class="pre">static</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">geom_opt_template</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">geom_opt</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">str</span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/inputs.py#L655-L669"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.inputs.QCInput.geom_opt_template" title="Link to this definition"></a></dt>
<dd><dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>geom_opt</strong> (<em>dict</em>) – Geometry optimization section.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>Geometry optimization section.</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p>str</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="pymatgen.io.qchem.inputs.QCInput.get_str">
<span class="sig-name descname"><span class="pre">get_str</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">str</span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/inputs.py#L287-L289"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.inputs.QCInput.get_str" title="Link to this definition"></a></dt>
<dd><p>Return a string representation of an entire input file.</p>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="pymatgen.io.qchem.inputs.QCInput.molecule_template">
<em class="property"><span class="k"><span class="pre">static</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">molecule_template</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">molecule</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="pymatgen.core.html#pymatgen.core.structure.Molecule" title="pymatgen.core.structure.Molecule"><span class="pre">Molecule</span></a><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">list</span><span class="p"><span class="pre">[</span></span><a class="reference internal" href="pymatgen.core.html#pymatgen.core.structure.Molecule" title="pymatgen.core.structure.Molecule"><span class="pre">Molecule</span></a><span class="p"><span class="pre">]</span></span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'read'</span></span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">str</span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/inputs.py#L413-L455"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.inputs.QCInput.molecule_template" title="Link to this definition"></a></dt>
<dd><dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>molecule</strong> (<a class="reference internal" href="pymatgen.core.html#pymatgen.core.structure.Molecule" title="pymatgen.core.structure.Molecule"><em>Molecule</em></a><em>, </em><em>list</em><em> of </em><em>Molecules</em><em>, or </em><em>&quot;read&quot;</em>)</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>Molecule template.</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p>str</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="pymatgen.io.qchem.inputs.QCInput.multi_job_string">
<em class="property"><span class="k"><span class="pre">static</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">multi_job_string</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">job_list</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">list</span><span class="p"><span class="pre">[</span></span><a class="reference internal" href="#pymatgen.io.qchem.inputs.QCInput" title="pymatgen.io.qchem.inputs.QCInput"><span class="pre">QCInput</span></a><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">str</span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/inputs.py#L291-L306"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.inputs.QCInput.multi_job_string" title="Link to this definition"></a></dt>
<dd><dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>job_list</strong> (<em>list</em><em>[</em><a class="reference internal" href="#pymatgen.io.qchem.inputs.QCInput" title="pymatgen.io.qchem.inputs.QCInput"><em>QCInput</em></a><em>]</em>) – List of QChem jobs.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>String representation of a multi-job input file.</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p>str</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="pymatgen.io.qchem.inputs.QCInput.nbo_template">
<em class="property"><span class="k"><span class="pre">static</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">nbo_template</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">nbo</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">str</span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/inputs.py#L619-L633"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.inputs.QCInput.nbo_template" title="Link to this definition"></a></dt>
<dd><dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>nbo</strong> (<em>dict</em>) – NBO section.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>NBO section.</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p>str</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="pymatgen.io.qchem.inputs.QCInput.opt_template">
<em class="property"><span class="k"><span class="pre">static</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">opt_template</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">opt</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">list</span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">str</span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/inputs.py#L473-L495"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.inputs.QCInput.opt_template" title="Link to this definition"></a></dt>
<dd><p>Optimization template.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>opt</strong> (<em>dict</em><em>[</em><em>str</em><em>, </em><em>list</em><em>]</em>) – Optimization section.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>Optimization template.</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p>str</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="pymatgen.io.qchem.inputs.QCInput.pcm_nonels_template">
<em class="property"><span class="k"><span class="pre">static</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">pcm_nonels_template</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pcm_nonels</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">str</span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/inputs.py#L744-L775"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.inputs.QCInput.pcm_nonels_template" title="Link to this definition"></a></dt>
<dd><p>Template for the $pcm_nonels section.</p>
<dl>
<dt>Arg</dt><dd><p>pcm_nonels: dict of CMIRS parameters, e.g.
{</p>
<blockquote>
<div><p>“a”: “-0.006736”,
“b”: “0.032698”,
“c”: “-1249.6”,
“d”: “-21.405”,
“gamma”: “3.7”,
“solvrho”: “0.05”,
“delta”: 7,
“gaulag_n”: 40,</p>
</div></blockquote>
<p>}</p>
</dd>
</dl>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p><dl class="simple">
<dt>the $pcm_nonels section. Note that all parameters will be concatenated onto</dt><dd><p>a single line formatted as a FORTRAN namelist. This is necessary
because the non-electrostatic part of the CMIRS solvation model in Q-Chem
calls a secondary code.</p>
</dd>
</dl>
</p>
</dd>
<dt class="field-even">Return type<span class="colon">:</span></dt>
<dd class="field-even"><p>str</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="pymatgen.io.qchem.inputs.QCInput.pcm_template">
<em class="property"><span class="k"><span class="pre">static</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">pcm_template</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pcm</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">str</span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/inputs.py#L497-L513"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.inputs.QCInput.pcm_template" title="Link to this definition"></a></dt>
<dd><p>PCM run template.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>pcm</strong> (<em>dict</em>) – PCM section.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>PCM template.</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p>str</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="pymatgen.io.qchem.inputs.QCInput.plots_template">
<em class="property"><span class="k"><span class="pre">static</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">plots_template</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">plots</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">str</span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/inputs.py#L604-L617"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.inputs.QCInput.plots_template" title="Link to this definition"></a></dt>
<dd><dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>plots</strong> (<em>dict</em>) – Plots section.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>Plots section.</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p>str</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="pymatgen.io.qchem.inputs.QCInput.read_almo">
<em class="property"><span class="k"><span class="pre">static</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">read_almo</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">tuple</span><span class="p"><span class="pre">[</span></span><span class="pre">int</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">int</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/inputs.py#L1197-L1233"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.inputs.QCInput.read_almo" title="Link to this definition"></a></dt>
<dd><p>Read ALMO coupling parameters from string.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>string</strong> (<em>str</em>) – String</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>ALMO coupling parameters</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p>list[list[tuple[int, int]]]</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="pymatgen.io.qchem.inputs.QCInput.read_cdft">
<em class="property"><span class="k"><span class="pre">static</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">read_cdft</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">dict</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/inputs.py#L1139-L1195"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.inputs.QCInput.read_cdft" title="Link to this definition"></a></dt>
<dd><p>Read cdft parameters from string.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>string</strong> (<em>str</em>) – String</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>cdft parameters</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p>list[list[dict]]</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="pymatgen.io.qchem.inputs.QCInput.read_geom_opt">
<em class="property"><span class="k"><span class="pre">static</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">read_geom_opt</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">dict</span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/inputs.py#L1119-L1137"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.inputs.QCInput.read_geom_opt" title="Link to this definition"></a></dt>
<dd><p>Read geom_opt parameters from string.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>string</strong> (<em>str</em>) – String</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>geom_opt parameters.</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p>dict[str, str]</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="pymatgen.io.qchem.inputs.QCInput.read_molecule">
<em class="property"><span class="k"><span class="pre">static</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">read_molecule</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><a class="reference internal" href="pymatgen.core.html#pymatgen.core.structure.Molecule" title="pymatgen.core.structure.Molecule"><span class="pre">Molecule</span></a><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">list</span><span class="p"><span class="pre">[</span></span><a class="reference internal" href="pymatgen.core.html#pymatgen.core.structure.Molecule" title="pymatgen.core.structure.Molecule"><span class="pre">Molecule</span></a><span class="p"><span class="pre">]</span></span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'read'</span></span><span class="p"><span class="pre">]</span></span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/inputs.py#L802-L865"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.inputs.QCInput.read_molecule" title="Link to this definition"></a></dt>
<dd><p>Read molecule from string.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>string</strong> (<em>str</em>) – String</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>Molecule</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="pymatgen.io.qchem.inputs.QCInput.read_nbo">
<em class="property"><span class="k"><span class="pre">static</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">read_nbo</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">dict</span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/inputs.py#L1099-L1117"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.inputs.QCInput.read_nbo" title="Link to this definition"></a></dt>
<dd><p>Read nbo parameters from string.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>string</strong> (<em>str</em>) – String</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>nbo parameters.</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p>dict[str, str]</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="pymatgen.io.qchem.inputs.QCInput.read_opt">
<em class="property"><span class="k"><span class="pre">static</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">read_opt</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">dict</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">list</span><span class="p"><span class="pre">]</span></span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/inputs.py#L883-L947"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.inputs.QCInput.read_opt" title="Link to this definition"></a></dt>
<dd><p>Read opt section from string.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>string</strong> (<em>str</em>) – String</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>Opt section</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p>dict[str, list]</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="pymatgen.io.qchem.inputs.QCInput.read_pcm">
<em class="property"><span class="k"><span class="pre">static</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">read_pcm</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">dict</span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/inputs.py#L949-L968"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.inputs.QCInput.read_pcm" title="Link to this definition"></a></dt>
<dd><p>Read pcm parameters from string.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>string</strong> (<em>str</em>) – String</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>PCM parameters</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p>dict[str, str]</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="pymatgen.io.qchem.inputs.QCInput.read_pcm_nonels">
<em class="property"><span class="k"><span class="pre">static</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">read_pcm_nonels</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">dict</span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/inputs.py#L1251-L1273"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.inputs.QCInput.read_pcm_nonels" title="Link to this definition"></a></dt>
<dd><p>Read pcm_nonels parameters from string.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>string</strong> (<em>str</em>) – String</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>PCM parameters</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p>dict[str, str]</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="pymatgen.io.qchem.inputs.QCInput.read_plots">
<em class="property"><span class="k"><span class="pre">static</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">read_plots</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">dict</span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/inputs.py#L1077-L1097"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.inputs.QCInput.read_plots" title="Link to this definition"></a></dt>
<dd><p>Read plots parameters from string.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>string</strong> (<em>str</em>) – String</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>plots parameters.</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p>dict[str, str]</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="pymatgen.io.qchem.inputs.QCInput.read_rem">
<em class="property"><span class="k"><span class="pre">static</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">read_rem</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">dict</span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/inputs.py#L867-L881"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.inputs.QCInput.read_rem" title="Link to this definition"></a></dt>
<dd><p>Parse rem from string.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>string</strong> (<em>str</em>) – String</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>REM section</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p>dict[str, str]</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="pymatgen.io.qchem.inputs.QCInput.read_scan">
<em class="property"><span class="k"><span class="pre">static</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">read_scan</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">dict</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">list</span><span class="p"><span class="pre">]</span></span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/inputs.py#L1042-L1075"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.inputs.QCInput.read_scan" title="Link to this definition"></a></dt>
<dd><p>Read scan section from a string.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>string</strong> – String to be parsed</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>Dict representing Q-Chem scan section</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="pymatgen.io.qchem.inputs.QCInput.read_smx">
<em class="property"><span class="k"><span class="pre">static</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">read_smx</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">dict</span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/inputs.py#L1016-L1040"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.inputs.QCInput.read_smx" title="Link to this definition"></a></dt>
<dd><p>Read smx parameters from string.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>string</strong> (<em>str</em>) – String</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>dict[str, str] SMX parameters.</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="pymatgen.io.qchem.inputs.QCInput.read_solvent">
<em class="property"><span class="k"><span class="pre">static</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">read_solvent</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">dict</span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/inputs.py#L993-L1014"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.inputs.QCInput.read_solvent" title="Link to this definition"></a></dt>
<dd><p>Read solvent parameters from string.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>string</strong> (<em>str</em>) – String</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>Solvent parameters</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p>dict[str, str]</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="pymatgen.io.qchem.inputs.QCInput.read_svp">
<em class="property"><span class="k"><span class="pre">static</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">read_svp</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">dict</span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/inputs.py#L1235-L1249"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.inputs.QCInput.read_svp" title="Link to this definition"></a></dt>
<dd><p>Read svp parameters from string.</p>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="pymatgen.io.qchem.inputs.QCInput.read_vdw">
<em class="property"><span class="k"><span class="pre">static</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">read_vdw</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">tuple</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">dict</span><span class="p"><span class="pre">]</span></span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/inputs.py#L970-L991"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.inputs.QCInput.read_vdw" title="Link to this definition"></a></dt>
<dd><p>Read van der Waals parameters from string.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>string</strong> (<em>str</em>) – String</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>(vdW mode (‘atomic’ or ‘sequential’), dict of van der Waals radii)</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p>tuple[str, dict]</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="pymatgen.io.qchem.inputs.QCInput.rem_template">
<em class="property"><span class="k"><span class="pre">static</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">rem_template</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">rem</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">Any</span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">str</span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/inputs.py#L457-L471"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.inputs.QCInput.rem_template" title="Link to this definition"></a></dt>
<dd><dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>rem</strong> (<em>dict</em><em>[</em><em>str</em><em>, </em><em>Any</em><em>]</em>) – REM section.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>REM template.</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p>str</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="pymatgen.io.qchem.inputs.QCInput.scan_template">
<em class="property"><span class="k"><span class="pre">static</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">scan_template</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">scan</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">list</span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">str</span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/inputs.py#L554-L571"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.inputs.QCInput.scan_template" title="Link to this definition"></a></dt>
<dd><p>Get string representing Q-Chem input format for scan section.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>scan</strong> (<em>dict</em>) – Dictionary with scan section information.
Ex: {“stre”: [“3 6 1.5 1.9 0.1”], “tors”: [“1 2 3 4 -180 180 15”]}.</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="pymatgen.io.qchem.inputs.QCInput.smx_template">
<em class="property"><span class="k"><span class="pre">static</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">smx_template</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">smx</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">str</span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/inputs.py#L532-L552"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.inputs.QCInput.smx_template" title="Link to this definition"></a></dt>
<dd><dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>smx</strong> (<em>dict</em>) – Solvation model with short-range corrections.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>Solvation model with short-range corrections.</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p>str</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="pymatgen.io.qchem.inputs.QCInput.solvent_template">
<em class="property"><span class="k"><span class="pre">static</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">solvent_template</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">solvent</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">str</span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/inputs.py#L515-L530"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.inputs.QCInput.solvent_template" title="Link to this definition"></a></dt>
<dd><p>Solvent template.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>solvent</strong> (<em>dict</em>) – Solvent section.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>Solvent section.</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p>str</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="pymatgen.io.qchem.inputs.QCInput.svp_template">
<em class="property"><span class="k"><span class="pre">static</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">svp_template</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">svp</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">str</span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/inputs.py#L635-L653"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.inputs.QCInput.svp_template" title="Link to this definition"></a></dt>
<dd><p>Template for the $svp section.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>svp</strong> – dict of SVP parameters, e.g.</p></li>
<li><p><strong>{&quot;rhoiso&quot;</strong> – “0.001”, “nptleb”: “1202”, “itrngr”: “2”, “irotgr”: “2”}</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><dl class="simple">
<dt>the $svp section. Note that all parameters will be concatenated onto</dt><dd><p>a single line formatted as a FORTRAN namelist. This is necessary
because the isodensity SS(V)PE model in Q-Chem calls a secondary code.</p>
</dd>
</dl>
</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p>str</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="pymatgen.io.qchem.inputs.QCInput.van_der_waals_template">
<em class="property"><span class="k"><span class="pre">static</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">van_der_waals_template</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">radii</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">float</span><span class="p"><span class="pre">]</span></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">mode</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'atomic'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">str</span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/inputs.py#L573-L602"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.inputs.QCInput.van_der_waals_template" title="Link to this definition"></a></dt>
<dd><dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>radii</strong> (<em>dict</em>) – Dictionary with custom van der Waals radii, in
Angstroms, keyed by either atomic number or sequential
atom number (see ‘mode’ kwarg).
Ex: {1: 1.20, 12: 1.70}</p></li>
<li><p><strong>mode</strong> – ‘atomic’ or ‘sequential’. In ‘atomic’ mode (default), dict keys
represent the atomic number associated with each radius (e.g., ‘12’ = carbon).
In ‘sequential’ mode, dict keys represent the sequential position of
a single specific atom in the input structure.
<strong>NOTE: keys must be given as strings even though they are numbers!</strong>.</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>representing Q-Chem input format for van_der_waals section</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p>str</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="pymatgen.io.qchem.inputs.QCInput.write_multi_job_file">
<em class="property"><span class="k"><span class="pre">static</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">write_multi_job_file</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">job_list</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">list</span><span class="p"><span class="pre">[</span></span><a class="reference internal" href="#pymatgen.io.qchem.inputs.QCInput" title="pymatgen.io.qchem.inputs.QCInput"><span class="pre">QCInput</span></a><span class="p"><span class="pre">]</span></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">filename</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/inputs.py#L371-L380"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.inputs.QCInput.write_multi_job_file" title="Link to this definition"></a></dt>
<dd><p>Write a multijob file.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>job_list</strong> (<em>list</em><em>[</em><a class="reference internal" href="#pymatgen.io.qchem.inputs.QCInput" title="pymatgen.io.qchem.inputs.QCInput"><em>QCInput</em></a><em>]</em>) – List of QChem jobs.</p></li>
<li><p><strong>filename</strong> (<em>str</em>) – Name of the file to write.</p></li>
</ul>
</dd>
</dl>
</dd></dl>

</dd></dl>

</section>
<section id="module-pymatgen.io.qchem.outputs">
<span id="pymatgen-io-qchem-outputs-module"></span><h2>pymatgen.io.qchem.outputs module<a class="headerlink" href="#module-pymatgen.io.qchem.outputs" title="Link to this heading"></a></h2>
<p>Parsers for Qchem output files.</p>
<dl class="py class">
<dt class="sig sig-object py" id="pymatgen.io.qchem.outputs.QCOutput">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">QCOutput</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/outputs.py#L49-L2277"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.outputs.QCOutput" title="Link to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">MSONable</span></code></p>
<p>Parse QChem output files.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>filename</strong> (<em>str</em>) – Filename to parse.</p>
</dd>
</dl>
<dl class="py method">
<dt class="sig sig-object py" id="pymatgen.io.qchem.outputs.QCOutput.as_dict">
<span class="sig-name descname"><span class="pre">as_dict</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/outputs.py#L2271-L2277"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.outputs.QCOutput.as_dict" title="Link to this definition"></a></dt>
<dd><p>Get MSONable dict representation of QCOutput.</p>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="pymatgen.io.qchem.outputs.QCOutput.multiple_outputs_from_file">
<em class="property"><span class="k"><span class="pre">static</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">multiple_outputs_from_file</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">keep_sub_files</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/outputs.py#L654-L676"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.outputs.QCOutput.multiple_outputs_from_file" title="Link to this definition"></a></dt>
<dd><p>Parses a QChem output file with multiple calculations
# 1.) Separates the output into sub-files</p>
<blockquote>
<div><p>e.g. qcout -&gt; qcout.0, qcout.1, qcout.2 … qcout.N
a.) Find delimiter for multiple calculations
b.) Make separate output sub-files</p>
</div></blockquote>
<p>2.) Creates separate QCCalcs for each one from the sub-files.</p>
</dd></dl>

</dd></dl>

<dl class="py function">
<dt class="sig sig-object py" id="pymatgen.io.qchem.outputs.check_for_structure_changes">
<span class="sig-name descname"><span class="pre">check_for_structure_changes</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mol1</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="pymatgen.core.html#pymatgen.core.structure.Molecule" title="pymatgen.core.structure.Molecule"><span class="pre">Molecule</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">mol2</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="pymatgen.core.html#pymatgen.core.structure.Molecule" title="pymatgen.core.structure.Molecule"><span class="pre">Molecule</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">str</span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/outputs.py#L2280-L2342"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.outputs.check_for_structure_changes" title="Link to this definition"></a></dt>
<dd><p>Compares connectivity of two molecules (using MoleculeGraph w/ OpenBabelNN).
This function will work with two molecules with different atom orderings,</p>
<blockquote>
<div><p>but for proper treatment, atoms should be listed in the same order.</p>
</div></blockquote>
<p>Possible outputs include:
- no_change: the bonding in the two molecules is identical
- unconnected_fragments: the MoleculeGraph of mol1 is connected, but the</p>
<blockquote>
<div><p>MoleculeGraph is mol2 is not connected</p>
</div></blockquote>
<ul class="simple">
<li><p>fewer_bonds: the MoleculeGraph of mol1 has more bonds (edges) than the
MoleculeGraph of mol2</p></li>
<li><p>more_bonds: the MoleculeGraph of mol2 has more bonds (edges) than the
MoleculeGraph of mol1</p></li>
<li><p>bond_change: this case catches any other non-identical MoleculeGraphs</p></li>
</ul>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>mol1</strong> – Pymatgen Molecule object to be compared.</p></li>
<li><p><strong>mol2</strong> – Pymatgen Molecule object to be compared.</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>One of [“unconnected_fragments”, “fewer_bonds”, “more_bonds”,
“bond_change”, “no_change”]</p>
</dd>
</dl>
</dd></dl>

<dl class="py function">
<dt class="sig sig-object py" id="pymatgen.io.qchem.outputs.get_percentage">
<span class="sig-name descname"><span class="pre">get_percentage</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">line</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">orbital</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">str</span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/outputs.py#L2369-L2392"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.outputs.get_percentage" title="Link to this definition"></a></dt>
<dd><p>Retrieve the percent character of an orbital.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>line</strong> – Line containing orbital and percentage.</p></li>
<li><p><strong>orbital</strong> – Type of orbital (s, p, d, f).</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>Percentage of character.</p>
</dd>
<dt class="field-odd">Raises<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>n/a</strong> – </p>
</dd>
</dl>
</dd></dl>

<dl class="py function">
<dt class="sig sig-object py" id="pymatgen.io.qchem.outputs.gradient_parser">
<span class="sig-name descname"><span class="pre">gradient_parser</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">Path</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'131.0'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">NDArray</span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/outputs.py#L2968-L2991"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.outputs.gradient_parser" title="Link to this definition"></a></dt>
<dd><p>Parse the gradient data from a gradient scratch file.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>filename</strong> – Path to the gradient scratch file. Defaults to “131.0”.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>The gradient, in units of Hartree/Bohr.</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p>NDArray</p>
</dd>
</dl>
</dd></dl>

<dl class="py function">
<dt class="sig sig-object py" id="pymatgen.io.qchem.outputs.hessian_parser">
<span class="sig-name descname"><span class="pre">hessian_parser</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">Path</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'132.0'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_atoms</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">NDArray</span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/outputs.py#L2994-L3011"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.outputs.hessian_parser" title="Link to this definition"></a></dt>
<dd><p>Parse the Hessian data from a Hessian scratch file.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>filename</strong> – Path to the Hessian scratch file. Defaults to “132.0”.</p></li>
<li><p><strong>n_atoms</strong> – Number of atoms in the molecule. If None, no reshaping will be done.</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>Hessian, formatted as 3n_atoms x 3n_atoms. Units are Hartree/Bohr^2/amu.</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p>NDArray</p>
</dd>
</dl>
</dd></dl>

<dl class="py function">
<dt class="sig sig-object py" id="pymatgen.io.qchem.outputs.jump_to_header">
<span class="sig-name descname"><span class="pre">jump_to_header</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">lines</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">]</span></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">header</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">]</span></span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/outputs.py#L2345-L2366"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.outputs.jump_to_header" title="Link to this definition"></a></dt>
<dd><p>Given a list of lines, truncate the start of the list so that the first line
of the new list contains the header.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>lines</strong> – List of lines.</p></li>
<li><p><strong>header</strong> – Substring to match.</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>Truncated lines.</p>
</dd>
<dt class="field-odd">Raises<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>RuntimeError</strong> – If the header is not found.</p>
</dd>
</dl>
</dd></dl>

<dl class="py function">
<dt class="sig sig-object py" id="pymatgen.io.qchem.outputs.nbo_parser">
<span class="sig-name descname"><span class="pre">nbo_parser</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">Path</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">dict</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">pd.DataFrame</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/outputs.py#L2942-L2965"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.outputs.nbo_parser" title="Link to this definition"></a></dt>
<dd><p>Parse all the important sections of NBO output.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>filename</strong> – Path to QChem NBO output.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>Data frames of formatted output.</p>
</dd>
<dt class="field-odd">Raises<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>RuntimeError</strong> – If a section cannot be found.</p>
</dd>
</dl>
</dd></dl>

<dl class="py function">
<dt class="sig sig-object py" id="pymatgen.io.qchem.outputs.orbital_coeffs_parser">
<span class="sig-name descname"><span class="pre">orbital_coeffs_parser</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">Path</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'53.0'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">NDArray</span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/outputs.py#L3014-L3028"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.outputs.orbital_coeffs_parser" title="Link to this definition"></a></dt>
<dd><p>Parse the orbital coefficients from a scratch file.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>filename</strong> – Path to the orbital coefficients file. Defaults to “53.0”.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>The orbital coefficients</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p>NDArray</p>
</dd>
</dl>
</dd></dl>

<dl class="py function">
<dt class="sig sig-object py" id="pymatgen.io.qchem.outputs.parse_hybridization_character">
<span class="sig-name descname"><span class="pre">parse_hybridization_character</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">lines</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">DataFrame</span><span class="p"><span class="pre">]</span></span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/outputs.py#L2556-L2790"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.outputs.parse_hybridization_character" title="Link to this definition"></a></dt>
<dd><p>Parse the hybridization character section of NBO output.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>lines</strong> – QChem output lines.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>Data frames of formatted output.</p>
</dd>
<dt class="field-odd">Raises<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>RuntimeError</strong> – If the header is not found.</p>
</dd>
</dl>
</dd></dl>

<dl class="py function">
<dt class="sig sig-object py" id="pymatgen.io.qchem.outputs.parse_hyperbonds">
<span class="sig-name descname"><span class="pre">parse_hyperbonds</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">lines</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">DataFrame</span><span class="p"><span class="pre">]</span></span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/outputs.py#L2475-L2553"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.outputs.parse_hyperbonds" title="Link to this definition"></a></dt>
<dd><p>Parse the natural populations section of NBO output.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>lines</strong> – QChem output lines.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>Data frame of formatted output.</p>
</dd>
<dt class="field-odd">Raises<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>RuntimeError</strong> – If the header is not found.</p>
</dd>
</dl>
</dd></dl>

<dl class="py function">
<dt class="sig sig-object py" id="pymatgen.io.qchem.outputs.parse_natural_populations">
<span class="sig-name descname"><span class="pre">parse_natural_populations</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">lines</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">DataFrame</span><span class="p"><span class="pre">]</span></span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/outputs.py#L2415-L2472"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.outputs.parse_natural_populations" title="Link to this definition"></a></dt>
<dd><p>Parse the natural populations section of NBO output.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>lines</strong> – QChem output lines.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>Data frame of formatted output.</p>
</dd>
<dt class="field-odd">Raises<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>RuntimeError</strong> – If the header is not found.</p>
</dd>
</dl>
</dd></dl>

<dl class="py function">
<dt class="sig sig-object py" id="pymatgen.io.qchem.outputs.parse_perturbation_energy">
<span class="sig-name descname"><span class="pre">parse_perturbation_energy</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">lines</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">DataFrame</span><span class="p"><span class="pre">]</span></span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/outputs.py#L2793-L2939"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.outputs.parse_perturbation_energy" title="Link to this definition"></a></dt>
<dd><p>Parse the perturbation energy section of NBO output.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>lines</strong> – QChem output lines.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>Data frame of formatted output.</p>
</dd>
<dt class="field-odd">Raises<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>RuntimeError</strong> – If the header is not found.</p>
</dd>
</dl>
</dd></dl>

<dl class="py function">
<dt class="sig sig-object py" id="pymatgen.io.qchem.outputs.z_int">
<span class="sig-name descname"><span class="pre">z_int</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">int</span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/outputs.py#L2395-L2412"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.outputs.z_int" title="Link to this definition"></a></dt>
<dd><p>Convert string to integer.
If string empty, return -1.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>string</strong> – Input to be cast to int.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>Int representation.</p>
</dd>
<dt class="field-odd">Raises<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>n/a</strong> – </p>
</dd>
</dl>
</dd></dl>

</section>
<section id="module-pymatgen.io.qchem.sets">
<span id="pymatgen-io-qchem-sets-module"></span><h2>pymatgen.io.qchem.sets module<a class="headerlink" href="#module-pymatgen.io.qchem.sets" title="Link to this heading"></a></h2>
<p>Input sets for Qchem.</p>
<dl class="py class">
<dt class="sig sig-object py" id="pymatgen.io.qchem.sets.ForceSet">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">ForceSet</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">molecule</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="pymatgen.core.html#pymatgen.core.structure.Molecule" title="pymatgen.core.structure.Molecule"><span class="pre">Molecule</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">basis_set</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'def2-tzvpd'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scf_algorithm</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'diis'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">qchem_version</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dft_rung</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">4</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pcm_dielectric</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">isosvp_dielectric</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">smd_solvent</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cmirs_solvent</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'water'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'acetonitrile'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'dimethyl</span> <span class="pre">sulfoxide'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'cyclohexane'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'benzene'</span></span><span class="p"><span class="pre">]</span></span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">custom_smd</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_scf_cycles</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">100</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">plot_cubes</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">output_wavefunction</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">nbo_params</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">vdw_mode</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'atomic'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'sequential'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'atomic'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cdft_constraints</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">dict</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">overwrite_inputs</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/sets.py#L1229-L1419"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.sets.ForceSet" title="Link to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#pymatgen.io.qchem.sets.QChemDictSet" title="pymatgen.io.qchem.sets.QChemDictSet"><code class="xref py py-class docutils literal notranslate"><span class="pre">QChemDictSet</span></code></a></p>
<p>QChemDictSet for a force (gradient) calculation.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>molecule</strong> (<em>Pymatgen Molecule object</em>)</p></li>
<li><p><strong>basis_set</strong> (<em>str</em>) – Basis set to use. (Default: “def2-tzvpd”)</p></li>
<li><p><strong>scf_algorithm</strong> (<em>str</em>) – Algorithm to use for converging the SCF. Recommended choices are
“DIIS”, “GDM”, and “DIIS_GDM”. Other algorithms supported by Qchem’s GEN_SCFMAN
module will also likely perform well. Refer to the QChem manual for further details.
(Default: “diis”)</p></li>
<li><p><strong>qchem_version</strong> (<em>int</em>) – Which major version of Q-Chem will be run. Supports 5 and 6. (Default: 5)</p></li>
<li><p><strong>dft_rung</strong> (<em>int</em>) – <p>Select the rung on “Jacob’s Ladder of Density Functional Approximations” in
order of increasing accuracy/cost. For each rung, we have prescribed one functional based
on our experience, available benchmarks, and the suggestions of the Q-Chem manual:
1 (LSDA) = SPW92
2 (GGA) = B97-D3(BJ)
3 (metaGGA) = B97M-V
4 (hybrid metaGGA) = ωB97M-V
5 (double hybrid metaGGA) = ωB97M-(2).</p>
<p>(Default: 4)</p>
<p>To set a functional not given by one of the above, set the overwrite_inputs
argument to {“method”:”&lt;NAME OF FUNCTIONAL&gt;”}</p>
</p></li>
<li><p><strong>pcm_dielectric</strong> (<em>float</em>) – <p>Dielectric constant to use for PCM implicit solvation model. (Default: None)
If supplied, will set up the $pcm section of the input file for a C-PCM calculation.
Other types of PCM calculations (e.g., IEF-PCM, SS(V)PE, etc.) may be requested by passing
custom keywords to overwrite_inputs, e.g.
overwrite_inputs = {“pcm”: {“theory”: “ssvpe”}}
Refer to the QChem manual for further details on the models available.</p>
<p><strong>Note that only one of pcm_dielectric, isosvp_dielectric, smd_solvent, or cmirs_solvent may be set.</strong></p>
</p></li>
<li><p><strong>isosvp_dielectric</strong> (<em>float</em>) – <p>Dielectric constant to use for isodensity SS(V)PE implicit solvation model.
(Default: None). If supplied, will set solvent_method to “isosvp” and populate the $svp section
of the input file with appropriate parameters.</p>
<p><strong>Note that only one of pcm_dielectric, isosvp_dielectric, smd_solvent, or cmirs_solvent may be set.</strong></p>
</p></li>
<li><p><strong>smd_solvent</strong> (<em>str</em>) – <p>Solvent to use for SMD implicit solvation model. (Default: None)
Examples include “water”, “ethanol”, “methanol”, and “acetonitrile”. Refer to the QChem
manual for a complete list of solvents available. To define a custom solvent, set this
argument to “custom” and populate custom_smd with the necessary parameters.</p>
<p><strong>Note that only one of pcm_dielectric, isosvp_dielectric, smd_solvent, or cmirs_solvent may be set.</strong></p>
</p></li>
<li><p><strong>cmirs_solvent</strong> (<em>str</em>) – <p>Solvent to use for the CMIRS implicit solvation model. (Default: None).
Only 5 solvents are presently available as of Q-Chem 6: “water”, “benzene”, “cyclohexane”,
“dimethyl sulfoxide”, and “acetonitrile”. Note that selection of a solvent here will also
populate the iso SS(V)PE dielectric constant, because CMIRS uses the isodensity SS(V)PE model
to compute electrostatics.</p>
<p><strong>Note that only one of pcm_dielectric, isosvp_dielectric, smd_solvent, or cmirs_solvent may be set.</strong></p>
</p></li>
<li><p><strong>custom_smd</strong> (<em>str</em>) – List of parameters to define a custom solvent in SMD. (Default: None)
Must be given as a string of seven comma separated values in the following order:
“dielectric, refractive index, acidity, basicity, surface tension, aromaticity,
electronegative halogenicity”
Refer to the QChem manual for further details.</p></li>
<li><p><strong>max_scf_cycles</strong> (<em>int</em>) – Maximum number of SCF iterations. (Default: 100)</p></li>
<li><p><strong>plot_cubes</strong> (<em>bool</em>) – Whether to write CUBE files of the electron density. (Default: False)</p></li>
<li><p><strong>output_wavefunction</strong> (<em>bool</em>) – Whether to write a wavefunction (<a href="#id1"><span class="problematic" id="id2">*</span></a>.wfn) file of the electron density
(Default: False)</p></li>
<li><p><strong>vdw_mode</strong> (<em>'atomic'</em><em> | </em><em>'sequential'</em>) – Method of specifying custom van der Waals radii. Applies
only if you are using overwrite_inputs to add a $van_der_waals section to the input.
In ‘atomic’ mode (default), dict keys represent the atomic number associated with each
radius (e.g., ‘12’ = carbon). In ‘sequential’ mode, dict keys represent the sequential
position of a single specific atom in the input structure.</p></li>
<li><p><strong>cdft_constraints</strong> (<em>list</em><em> of </em><em>lists</em><em> of </em><em>dicts</em>) – <p>A list of lists of dictionaries, where each dictionary represents a charge
constraint in the cdft section of the QChem input file.</p>
<p>Each entry in the main list represents one state (allowing for multi-configuration
calculations using constrained density functional theory - configuration interaction
(CDFT-CI). Each state is represented by a list, which itself contains some number of
constraints (dictionaries).</p>
<p>Ex:</p>
<ol class="arabic simple">
<li><p>For a single-state calculation with two constraints:</p></li>
</ol>
<blockquote>
<div><dl>
<dt>cdft_constraints=[[</dt><dd><dl class="simple">
<dt>{</dt><dd><p>“value”: 1.0,
“coefficients”: [1.0],
“first_atoms”: [1],
“last_atoms”: [2],
“types”: [None]</p>
</dd>
</dl>
<p>},
{</p>
<blockquote>
<div><p>”value”: 2.0,
“coefficients”: [1.0, -1.0],
“first_atoms”: [1, 17],
“last_atoms”: [3, 19],
“types”: [“s”]</p>
</div></blockquote>
<p>}</p>
</dd>
</dl>
</div></blockquote>
<p>]]</p>
<p>Note that a type of None will default to a charge constraint (which can also be
accessed by requesting a type of “c” or “charge”).</p>
<p>2. For a CDFT-CI multi-reference calculation:
cdft_constraints=[</p>
<blockquote>
<div><dl>
<dt>[</dt><dd><dl class="simple">
<dt>{</dt><dd><p>“value”: 1.0,
“coefficients”: [1.0],
“first_atoms”: [1],
“last_atoms”: [27],
“types”: [“c”]</p>
</dd>
</dl>
<p>},
{</p>
<blockquote>
<div><p>”value”: 0.0,
“coefficients”: [1.0],
“first_atoms”: [1],
“last_atoms”: [27],
“types”: [“s”]</p>
</div></blockquote>
<p>},</p>
</dd>
</dl>
<p>],
[</p>
<blockquote>
<div><dl class="simple">
<dt>{</dt><dd><p>“value”: 0.0,
“coefficients”: [1.0],
“first_atoms”: [1],
“last_atoms”: [27],
“types”: [“c”]</p>
</dd>
</dl>
<p>},
{</p>
<blockquote>
<div><p>”value”: -1.0,
“coefficients”: [1.0],
“first_atoms”: [1],
“last_atoms”: [27],
“types”: [“s”]</p>
</div></blockquote>
<p>},</p>
</div></blockquote>
<p>]</p>
</div></blockquote>
<p>]</p>
</p></li>
<li><p><strong>overwrite_inputs</strong> (<em>dict</em>) – <p>Dictionary of QChem input sections to add or overwrite variables.
The currently available sections (keys) are rem, pcm,
solvent, smx, opt, scan, van_der_waals, and plots. The value of each key is a
dictionary of key value pairs relevant to that section. For example, to add
a new variable to the rem section that sets symmetry to false, use</p>
<p>overwrite_inputs = {“rem”: {“symmetry”: “false”}}</p>
<p><strong>Note that if something like basis is added to the rem dict it will overwrite
the default basis.</strong></p>
<p><strong>Note that supplying a van_der_waals section here will automatically modify
the PCM “radii” setting to “read”.</strong></p>
<p><strong>Note that all keys must be given as strings, even when they are numbers!</strong></p>
</p></li>
</ul>
</dd>
</dl>
</dd></dl>

<dl class="py class">
<dt class="sig sig-object py" id="pymatgen.io.qchem.sets.FreqSet">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">FreqSet</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">molecule</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="pymatgen.core.html#pymatgen.core.structure.Molecule" title="pymatgen.core.structure.Molecule"><span class="pre">Molecule</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">basis_set</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'def2-svpd'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scf_algorithm</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'diis'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">qchem_version</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dft_rung</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">4</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pcm_dielectric</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">isosvp_dielectric</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">smd_solvent</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cmirs_solvent</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'water'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'acetonitrile'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'dimethyl</span> <span class="pre">sulfoxide'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'cyclohexane'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'benzene'</span></span><span class="p"><span class="pre">]</span></span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">custom_smd</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_scf_cycles</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">100</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">plot_cubes</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">output_wavefunction</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">nbo_params</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">vdw_mode</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'atomic'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'sequential'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'atomic'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cdft_constraints</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">dict</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">overwrite_inputs</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/sets.py#L1422-L1612"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.sets.FreqSet" title="Link to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#pymatgen.io.qchem.sets.QChemDictSet" title="pymatgen.io.qchem.sets.QChemDictSet"><code class="xref py py-class docutils literal notranslate"><span class="pre">QChemDictSet</span></code></a></p>
<p>QChemDictSet for a frequency calculation.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>molecule</strong> (<em>Pymatgen Molecule object</em>)</p></li>
<li><p><strong>basis_set</strong> (<em>str</em>) – Basis set to use. (Default: “def2-svpd”)</p></li>
<li><p><strong>scf_algorithm</strong> (<em>str</em>) – Algorithm to use for converging the SCF. Recommended choices are
“DIIS”, “GDM”, and “DIIS_GDM”. Other algorithms supported by Qchem’s GEN_SCFMAN
module will also likely perform well. Refer to the QChem manual for further details.
(Default: “diis”)</p></li>
<li><p><strong>qchem_version</strong> (<em>int</em>) – Which major version of Q-Chem will be run. Supports 5 and 6. (Default: 5)</p></li>
<li><p><strong>dft_rung</strong> (<em>int</em>) – <p>Select the rung on “Jacob’s Ladder of Density Functional Approximations” in
order of increasing accuracy/cost. For each rung, we have prescribed one functional based
on our experience, available benchmarks, and the suggestions of the Q-Chem manual:
1 (LSDA) = SPW92
2 (GGA) = B97-D3(BJ)
3 (metaGGA) = B97M-V
4 (hybrid metaGGA) = ωB97M-V
5 (double hybrid metaGGA) = ωB97M-(2).</p>
<p>(Default: 4)</p>
<p>To set a functional not given by one of the above, set the overwrite_inputs
argument to {“method”:”&lt;NAME OF FUNCTIONAL&gt;”}</p>
</p></li>
<li><p><strong>pcm_dielectric</strong> (<em>float</em>) – <p>Dielectric constant to use for PCM implicit solvation model. (Default: None)
If supplied, will set up the $pcm section of the input file for a C-PCM calculation.
Other types of PCM calculations (e.g., IEF-PCM, SS(V)PE, etc.) may be requested by passing
custom keywords to overwrite_inputs, e.g.
overwrite_inputs = {“pcm”: {“theory”: “ssvpe”}}
Refer to the QChem manual for further details on the models available.</p>
<p><strong>Note that only one of pcm_dielectric, isosvp_dielectric, smd_solvent, or cmirs_solvent may be set.</strong></p>
</p></li>
<li><p><strong>isosvp_dielectric</strong> (<em>float</em>) – <p>Dielectric constant to use for isodensity SS(V)PE implicit solvation model.
(Default: None). If supplied, will set solvent_method to “isosvp” and populate the $svp section
of the input file with appropriate parameters.</p>
<p><strong>Note that only one of pcm_dielectric, isosvp_dielectric, smd_solvent, or cmirs_solvent may be set.</strong></p>
</p></li>
<li><p><strong>smd_solvent</strong> (<em>str</em>) – <p>Solvent to use for SMD implicit solvation model. (Default: None)
Examples include “water”, “ethanol”, “methanol”, and “acetonitrile”. Refer to the QChem
manual for a complete list of solvents available. To define a custom solvent, set this
argument to “custom” and populate custom_smd with the necessary parameters.</p>
<p><strong>Note that only one of pcm_dielectric, isosvp_dielectric, smd_solvent, or cmirs_solvent may be set.</strong></p>
</p></li>
<li><p><strong>cmirs_solvent</strong> (<em>str</em>) – <p>Solvent to use for the CMIRS implicit solvation model. (Default: None).
Only 5 solvents are presently available as of Q-Chem 6: “water”, “benzene”, “cyclohexane”,
“dimethyl sulfoxide”, and “acetonitrile”. Note that selection of a solvent here will also
populate the iso SS(V)PE dielectric constant, because CMIRS uses the isodensity SS(V)PE model
to compute electrostatics.</p>
<p><strong>Note that only one of pcm_dielectric, isosvp_dielectric, smd_solvent, or cmirs_solvent may be set.</strong></p>
</p></li>
<li><p><strong>custom_smd</strong> (<em>str</em>) – List of parameters to define a custom solvent in SMD. (Default: None)
Must be given as a string of seven comma separated values in the following order:
“dielectric, refractive index, acidity, basicity, surface tension, aromaticity,
electronegative halogenicity”
Refer to the QChem manual for further details.</p></li>
<li><p><strong>max_scf_cycles</strong> (<em>int</em>) – Maximum number of SCF iterations. (Default: 100)</p></li>
<li><p><strong>plot_cubes</strong> (<em>bool</em>) – Whether to write CUBE files of the electron density. (Default: False)</p></li>
<li><p><strong>output_wavefunction</strong> (<em>bool</em>) – Whether to write a wavefunction (<a href="#id3"><span class="problematic" id="id4">*</span></a>.wfn) file of the electron density
(Default: False)</p></li>
<li><p><strong>vdw_mode</strong> (<em>'atomic'</em><em> | </em><em>'sequential'</em>) – Method of specifying custom van der Waals radii. Applies
only if you are using overwrite_inputs to add a $van_der_waals section to the input.
In ‘atomic’ mode (default), dict keys represent the atomic number associated with each
radius (e.g., ‘12’ = carbon). In ‘sequential’ mode, dict keys represent the sequential
position of a single specific atom in the input structure.</p></li>
<li><p><strong>cdft_constraints</strong> (<em>list</em><em> of </em><em>lists</em><em> of </em><em>dicts</em>) – <p>A list of lists of dictionaries, where each dictionary represents a charge
constraint in the cdft section of the QChem input file.</p>
<p>Each entry in the main list represents one state (allowing for multi-configuration
calculations using constrained density functional theory - configuration interaction
(CDFT-CI). Each state is represented by a list, which itself contains some number of
constraints (dictionaries).</p>
<p>Ex:</p>
<ol class="arabic simple">
<li><p>For a single-state calculation with two constraints:</p></li>
</ol>
<blockquote>
<div><dl>
<dt>cdft_constraints=[[</dt><dd><dl class="simple">
<dt>{</dt><dd><p>“value”: 1.0,
“coefficients”: [1.0],
“first_atoms”: [1],
“last_atoms”: [2],
“types”: [None]</p>
</dd>
</dl>
<p>},
{</p>
<blockquote>
<div><p>”value”: 2.0,
“coefficients”: [1.0, -1.0],
“first_atoms”: [1, 17],
“last_atoms”: [3, 19],
“types”: [“s”]</p>
</div></blockquote>
<p>}</p>
</dd>
</dl>
</div></blockquote>
<p>]]</p>
<p>Note that a type of None will default to a charge constraint (which can also be
accessed by requesting a type of “c” or “charge”).</p>
<p>2. For a CDFT-CI multi-reference calculation:
cdft_constraints=[</p>
<blockquote>
<div><dl>
<dt>[</dt><dd><dl class="simple">
<dt>{</dt><dd><p>“value”: 1.0,
“coefficients”: [1.0],
“first_atoms”: [1],
“last_atoms”: [27],
“types”: [“c”]</p>
</dd>
</dl>
<p>},
{</p>
<blockquote>
<div><p>”value”: 0.0,
“coefficients”: [1.0],
“first_atoms”: [1],
“last_atoms”: [27],
“types”: [“s”]</p>
</div></blockquote>
<p>},</p>
</dd>
</dl>
<p>],
[</p>
<blockquote>
<div><dl class="simple">
<dt>{</dt><dd><p>“value”: 0.0,
“coefficients”: [1.0],
“first_atoms”: [1],
“last_atoms”: [27],
“types”: [“c”]</p>
</dd>
</dl>
<p>},
{</p>
<blockquote>
<div><p>”value”: -1.0,
“coefficients”: [1.0],
“first_atoms”: [1],
“last_atoms”: [27],
“types”: [“s”]</p>
</div></blockquote>
<p>},</p>
</div></blockquote>
<p>]</p>
</div></blockquote>
<p>]</p>
</p></li>
<li><p><strong>overwrite_inputs</strong> (<em>dict</em>) – <p>Dictionary of QChem input sections to add or overwrite variables.
The currently available sections (keys) are rem, pcm,
solvent, smx, opt, scan, van_der_waals, and plots. The value of each key is a
dictionary of key value pairs relevant to that section. For example, to add
a new variable to the rem section that sets symmetry to false, use</p>
<p>overwrite_inputs = {“rem”: {“symmetry”: “false”}}</p>
<p><strong>Note that if something like basis is added to the rem dict it will overwrite
the default basis.</strong></p>
<p><strong>Note that supplying a van_der_waals section here will automatically modify
the PCM “radii” setting to “read”.</strong></p>
<p><strong>Note that all keys must be given as strings, even when they are numbers!</strong></p>
</p></li>
</ul>
</dd>
</dl>
</dd></dl>

<dl class="py class">
<dt class="sig sig-object py" id="pymatgen.io.qchem.sets.OptSet">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">OptSet</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">molecule</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="pymatgen.core.html#pymatgen.core.structure.Molecule" title="pymatgen.core.structure.Molecule"><span class="pre">Molecule</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">basis_set</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'def2-svpd'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scf_algorithm</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'diis'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">qchem_version</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dft_rung</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">4</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pcm_dielectric</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">isosvp_dielectric</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">smd_solvent</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cmirs_solvent</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'water'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'acetonitrile'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'dimethyl</span> <span class="pre">sulfoxide'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'cyclohexane'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'benzene'</span></span><span class="p"><span class="pre">]</span></span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">custom_smd</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_scf_cycles</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">100</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">plot_cubes</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">output_wavefunction</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">nbo_params</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">opt_variables</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">list</span><span class="p"><span class="pre">]</span></span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">geom_opt_max_cycles</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">200</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">geom_opt</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cdft_constraints</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">dict</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">overwrite_inputs</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/sets.py#L878-L1088"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.sets.OptSet" title="Link to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#pymatgen.io.qchem.sets.QChemDictSet" title="pymatgen.io.qchem.sets.QChemDictSet"><code class="xref py py-class docutils literal notranslate"><span class="pre">QChemDictSet</span></code></a></p>
<p>QChemDictSet for a geometry optimization.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>molecule</strong> (<em>Pymatgen Molecule object</em>)</p></li>
<li><p><strong>job_type</strong> (<em>str</em>) – QChem job type to run. Valid options are “opt” for optimization,
“sp” for single point, “freq” for frequency calculation, or “force” for
force evaluation.</p></li>
<li><p><strong>basis_set</strong> (<em>str</em>) – Basis set to use. (Default: “def2-svpd”)</p></li>
<li><p><strong>scf_algorithm</strong> (<em>str</em>) – Algorithm to use for converging the SCF. Recommended choices are
“DIIS”, “GDM”, and “DIIS_GDM”. Other algorithms supported by Qchem’s GEN_SCFMAN
module will also likely perform well. Refer to the QChem manual for further details.
(Default: “diis”)</p></li>
<li><p><strong>qchem_version</strong> (<em>int</em>) – Which major version of Q-Chem will be run. Supports 5 and 6. (Default: 5)</p></li>
<li><p><strong>dft_rung</strong> (<em>int</em>) – <p>Select the rung on “Jacob’s Ladder of Density Functional Approximations” in
order of increasing accuracy/cost. For each rung, we have prescribed one functional based
on our experience, available benchmarks, and the suggestions of the Q-Chem manual:
1 (LSDA) = SPW92
2 (GGA) = B97-D3(BJ)
3 (metaGGA) = B97M-V
4 (hybrid metaGGA) = ωB97M-V
5 (double hybrid metaGGA) = ωB97M-(2).</p>
<p>(Default: 4)</p>
<p>To set a functional not given by one of the above, set the overwrite_inputs
argument to {“method”:”&lt;NAME OF FUNCTIONAL&gt;”}</p>
</p></li>
<li><p><strong>pcm_dielectric</strong> (<em>float</em>) – <p>Dielectric constant to use for PCM implicit solvation model. (Default: None)
If supplied, will set up the $pcm section of the input file for a C-PCM calculation.
Other types of PCM calculations (e.g., IEF-PCM, SS(V)PE, etc.) may be requested by passing
custom keywords to overwrite_inputs, e.g.
overwrite_inputs = {“pcm”: {“theory”: “ssvpe”}}
Refer to the QChem manual for further details on the models available.</p>
<p><strong>Note that only one of pcm_dielectric, isosvp_dielectric, smd_solvent, or cmirs_solvent may be set.</strong></p>
</p></li>
<li><p><strong>isosvp_dielectric</strong> (<em>float</em>) – <p>Dielectric constant to use for isodensity SS(V)PE implicit solvation model.
(Default: None). If supplied, will set solvent_method to “isosvp” and populate the $svp section
of the input file with appropriate parameters.</p>
<p><strong>Note that only one of pcm_dielectric, isosvp_dielectric, smd_solvent, or cmirs_solvent may be set.</strong></p>
</p></li>
<li><p><strong>smd_solvent</strong> (<em>str</em>) – <p>Solvent to use for SMD implicit solvation model. (Default: None)
Examples include “water”, “ethanol”, “methanol”, and “acetonitrile”. Refer to the QChem
manual for a complete list of solvents available. To define a custom solvent, set this
argument to “custom” and populate custom_smd with the necessary parameters.</p>
<p><strong>Note that only one of pcm_dielectric, isosvp_dielectric, smd_solvent, or cmirs_solvent may be set.</strong></p>
</p></li>
<li><p><strong>cmirs_solvent</strong> (<em>str</em>) – <p>Solvent to use for the CMIRS implicit solvation model. (Default: None).
Only 5 solvents are presently available as of Q-Chem 6: “water”, “benzene”, “cyclohexane”,
“dimethyl sulfoxide”, and “acetonitrile”. Note that selection of a solvent here will also
populate the iso SS(V)PE dielectric constant, because CMIRS uses the isodensity SS(V)PE model
to compute electrostatics.</p>
<p><strong>Note that only one of pcm_dielectric, isosvp_dielectric, smd_solvent, or cmirs_solvent may be set.</strong></p>
</p></li>
<li><p><strong>custom_smd</strong> (<em>str</em>) – List of parameters to define a custom solvent in SMD. (Default: None)
Must be given as a string of seven comma separated values in the following order:
“dielectric, refractive index, acidity, basicity, surface tension, aromaticity,
electronegative halogenicity”
Refer to the QChem manual for further details.</p></li>
<li><p><strong>max_scf_cycles</strong> (<em>int</em>) – Maximum number of SCF iterations. (Default: 100)</p></li>
<li><p><strong>geom_opt_max_cycles</strong> (<em>int</em>) – Maximum number of geometry optimization iterations. (Default: 200)</p></li>
<li><p><strong>geom_opt</strong> (<em>dict</em>) – A dict containing parameters for the $geom_opt section of the Q-Chem input
file, which control the new geometry optimizer available starting in version 5.4.2. The
new optimizer remains under development but was officially released and became the default
optimizer in Q-Chem version 6.0.0. Note that for version 5.4.2, the new optimizer must be
explicitly requested by passing in a dictionary (empty or otherwise) for this input parameter.
(Default: False)</p></li>
<li><p><strong>plot_cubes</strong> (<em>bool</em>) – Whether to write CUBE files of the electron density. (Default: False)</p></li>
<li><p><strong>output_wavefunction</strong> (<em>bool</em>) – Whether to write a wavefunction (<a href="#id5"><span class="problematic" id="id6">*</span></a>.wfn) file of the electron density
(Default: False)</p></li>
<li><p><strong>vdw_mode</strong> (<em>'atomic'</em><em> | </em><em>'sequential'</em>) – Method of specifying custom van der Waals radii. Applies
only if you are using overwrite_inputs to add a $van_der_waals section to the input.
In ‘atomic’ mode (default), dict keys represent the atomic number associated with each
radius (e.g., ‘12’ = carbon). In ‘sequential’ mode, dict keys represent the sequential
position of a single specific atom in the input structure.</p></li>
<li><p><strong>cdft_constraints</strong> (<em>list</em><em> of </em><em>lists</em><em> of </em><em>dicts</em>) – <p>A list of lists of dictionaries, where each dictionary represents a charge
constraint in the cdft section of the QChem input file.</p>
<p>Each entry in the main list represents one state (allowing for multi-configuration
calculations using constrained density functional theory - configuration interaction
(CDFT-CI). Each state is represented by a list, which itself contains some number of
constraints (dictionaries).</p>
<p>Ex:</p>
<ol class="arabic simple">
<li><p>For a single-state calculation with two constraints:</p></li>
</ol>
<blockquote>
<div><dl>
<dt>cdft_constraints=[[</dt><dd><dl class="simple">
<dt>{</dt><dd><p>“value”: 1.0,
“coefficients”: [1.0],
“first_atoms”: [1],
“last_atoms”: [2],
“types”: [None]</p>
</dd>
</dl>
<p>},
{</p>
<blockquote>
<div><p>”value”: 2.0,
“coefficients”: [1.0, -1.0],
“first_atoms”: [1, 17],
“last_atoms”: [3, 19],
“types”: [“s”]</p>
</div></blockquote>
<p>}</p>
</dd>
</dl>
</div></blockquote>
<p>]]</p>
<p>Note that a type of None will default to a charge constraint (which can also be
accessed by requesting a type of “c” or “charge”).</p>
<p>2. For a CDFT-CI multi-reference calculation:
cdft_constraints=[</p>
<blockquote>
<div><dl>
<dt>[</dt><dd><dl class="simple">
<dt>{</dt><dd><p>“value”: 1.0,
“coefficients”: [1.0],
“first_atoms”: [1],
“last_atoms”: [27],
“types”: [“c”]</p>
</dd>
</dl>
<p>},
{</p>
<blockquote>
<div><p>”value”: 0.0,
“coefficients”: [1.0],
“first_atoms”: [1],
“last_atoms”: [27],
“types”: [“s”]</p>
</div></blockquote>
<p>},</p>
</dd>
</dl>
<p>],
[</p>
<blockquote>
<div><dl class="simple">
<dt>{</dt><dd><p>“value”: 0.0,
“coefficients”: [1.0],
“first_atoms”: [1],
“last_atoms”: [27],
“types”: [“c”]</p>
</dd>
</dl>
<p>},
{</p>
<blockquote>
<div><p>”value”: -1.0,
“coefficients”: [1.0],
“first_atoms”: [1],
“last_atoms”: [27],
“types”: [“s”]</p>
</div></blockquote>
<p>},</p>
</div></blockquote>
<p>]</p>
</div></blockquote>
<p>]</p>
</p></li>
<li><p><strong>overwrite_inputs</strong> (<em>dict</em>) – <p>Dictionary of QChem input sections to add or overwrite variables.
The currently available sections (keys) are rem, pcm,
solvent, smx, opt, scan, van_der_waals, and plots. The value of each key is a
dictionary of key value pairs relevant to that section. For example, to add
a new variable to the rem section that sets symmetry to false, use</p>
<p>overwrite_inputs = {“rem”: {“symmetry”: “false”}}</p>
<p><strong>Note that if something like basis is added to the rem dict it will overwrite
the default basis.</strong></p>
<p><strong>Note that supplying a van_der_waals section here will automatically modify
the PCM “radii” setting to “read”.</strong></p>
<p><strong>Note that all keys must be given as strings, even when they are numbers!</strong></p>
</p></li>
<li><p><strong>vdw_mode</strong> – Method of specifying custom van der Waals radii. Applies
only if you are using overwrite_inputs to add a $van_der_waals section to the input.
In ‘atomic’ mode (default), dict keys represent the atomic number associated with each
radius (e.g., ‘12’ = carbon). In ‘sequential’ mode, dict keys represent the sequential
position of a single specific atom in the input structure.</p></li>
</ul>
</dd>
</dl>
</dd></dl>

<dl class="py class">
<dt class="sig sig-object py" id="pymatgen.io.qchem.sets.PESScanSet">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">PESScanSet</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">molecule</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="pymatgen.core.html#pymatgen.core.structure.Molecule" title="pymatgen.core.structure.Molecule"><span class="pre">Molecule</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">basis_set</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'def2-svpd'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scf_algorithm</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'diis'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">qchem_version</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dft_rung</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">4</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pcm_dielectric</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">isosvp_dielectric</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">smd_solvent</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cmirs_solvent</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'water'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'acetonitrile'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'dimethyl</span> <span class="pre">sulfoxide'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'cyclohexane'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'benzene'</span></span><span class="p"><span class="pre">]</span></span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">custom_smd</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_scf_cycles</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">100</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">plot_cubes</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">output_wavefunction</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">nbo_params</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">opt_variables</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">list</span><span class="p"><span class="pre">]</span></span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scan_variables</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">list</span><span class="p"><span class="pre">]</span></span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">overwrite_inputs</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">vdw_mode</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'atomic'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'sequential'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'atomic'</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/sets.py#L1615-L1764"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.sets.PESScanSet" title="Link to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#pymatgen.io.qchem.sets.QChemDictSet" title="pymatgen.io.qchem.sets.QChemDictSet"><code class="xref py py-class docutils literal notranslate"><span class="pre">QChemDictSet</span></code></a></p>
<p>QChemDictSet for a potential energy surface scan (PES_SCAN) calculation,
used primarily to identify possible transition states or to sample different
geometries.
Note: Because there are no defaults that can be used for a PES scan (the
variables are completely dependent on the molecular structure), by default
scan_variables = None. However, a PES Scan job should not be run with less
than one variable (or more than two variables).</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>molecule</strong> (<em>Pymatgen Molecule object</em>)</p></li>
<li><p><strong>opt_variables</strong> (<em>dict</em>) – <p>A dictionary of opt sections, where each opt section is a key
and the corresponding values are a list of strings. Strings must be formatted
as instructed by the QChem manual. The different opt sections are: CONSTRAINT, FIXED,
DUMMY, and CONNECT.</p>
<p>Ex. opt = {“CONSTRAINT”: [“tors 2 3 4 5 25.0”, “tors 2 5 7 9 80.0”], “FIXED”: [“2 XY”]}</p>
</p></li>
<li><p><strong>scan_variables</strong> (<em>dict</em>) – <p>A dictionary of scan variables. Because two constraints of the
same type are allowed (for instance, two torsions or two bond stretches), each TYPE of
variable (stre, bend, tors) should be its own key in the dict, rather than each variable.
Note that the total number of variable (sum of lengths of all lists) CANNOT be more than two.</p>
<p>Ex. scan_variables = {“stre”: [“3 6 1.5 1.9 0.1”], “tors”: [“1 2 3 4 -180 180 15”]}</p>
</p></li>
<li><p><strong>basis_set</strong> (<em>str</em>) – Basis set to use. (Default: “def2-svpd”)</p></li>
<li><p><strong>scf_algorithm</strong> (<em>str</em>) – Algorithm to use for converging the SCF. Recommended choices are
“DIIS”, “GDM”, and “DIIS_GDM”. Other algorithms supported by Qchem’s GEN_SCFMAN
module will also likely perform well. Refer to the QChem manual for further details.
(Default: “diis”)</p></li>
<li><p><strong>qchem_version</strong> (<em>int</em>) – Which major version of Q-Chem will be run. Supports 5 and 6. (Default: 5)</p></li>
<li><p><strong>dft_rung</strong> (<em>int</em>) – <p>Select the rung on “Jacob’s Ladder of Density Functional Approximations” in
order of increasing accuracy/cost. For each rung, we have prescribed one functional based
on our experience, available benchmarks, and the suggestions of the Q-Chem manual:
1 (LSDA) = SPW92
2 (GGA) = B97-D3(BJ)
3 (metaGGA) = B97M-V
4 (hybrid metaGGA) = ωB97M-V
5 (double hybrid metaGGA) = ωB97M-(2)</p>
<p>(Default: 4)</p>
<p>To set a functional not given by one of the above, set the overwrite_inputs
argument to {“method”:”&lt;NAME OF FUNCTIONAL&gt;”}</p>
</p></li>
<li><p><strong>pcm_dielectric</strong> (<em>float</em>) – <p>Dielectric constant to use for PCM implicit solvation model. (Default: None)
If supplied, will set up the $pcm section of the input file for a C-PCM calculation.
Other types of PCM calculations (e.g., IEF-PCM, SS(V)PE, etc.) may be requested by passing
custom keywords to overwrite_inputs, e.g.
overwrite_inputs = {“pcm”: {“theory”: “ssvpe”}}
Refer to the QChem manual for further details on the models available.</p>
<p><strong>Note that only one of pcm_dielectric, isosvp_dielectric, smd_solvent, or cmirs_solvent may be set.</strong></p>
</p></li>
<li><p><strong>isosvp_dielectric</strong> (<em>float</em>) – <p>Dielectric constant to use for isodensity SS(V)PE implicit solvation model.
(Default: None). If supplied, will set solvent_method to “isosvp” and populate the $svp section
of the input file with appropriate parameters.</p>
<p><strong>Note that only one of pcm_dielectric, isosvp_dielectric, smd_solvent, or cmirs_solvent may be set.</strong></p>
</p></li>
<li><p><strong>smd_solvent</strong> (<em>str</em>) – <p>Solvent to use for SMD implicit solvation model. (Default: None)
Examples include “water”, “ethanol”, “methanol”, and “acetonitrile”. Refer to the QChem
manual for a complete list of solvents available. To define a custom solvent, set this
argument to “custom” and populate custom_smd with the necessary parameters.</p>
<p><strong>Note that only one of pcm_dielectric, isosvp_dielectric, smd_solvent, or cmirs_solvent may be set.</strong></p>
</p></li>
<li><p><strong>cmirs_solvent</strong> (<em>str</em>) – <p>Solvent to use for the CMIRS implicit solvation model. (Default: None).
Only 5 solvents are presently available as of Q-Chem 6: “water”, “benzene”, “cyclohexane”,
“dimethyl sulfoxide”, and “acetonitrile”. Note that selection of a solvent here will also
populate the iso SS(V)PE dielectric constant, because CMIRS uses the isodensity SS(V)PE model
to compute electrostatics.</p>
<p><strong>Note that only one of pcm_dielectric, isosvp_dielectric, smd_solvent, or cmirs_solvent may be set.</strong></p>
</p></li>
<li><p><strong>custom_smd</strong> (<em>str</em>) – List of parameters to define a custom solvent in SMD. (Default: None)
Must be given as a string of seven comma separated values in the following order:
“dielectric, refractive index, acidity, basicity, surface tension, aromaticity,
electronegative halogenicity”
Refer to the QChem manual for further details.</p></li>
<li><p><strong>max_scf_cycles</strong> (<em>int</em>) – Maximum number of SCF iterations. (Default: 100)</p></li>
<li><p><strong>plot_cubes</strong> (<em>bool</em>) – Whether to write CUBE files of the electron density. (Default: False)</p></li>
<li><p><strong>output_wavefunction</strong> (<em>bool</em>) – Whether to write a wavefunction (<a href="#id7"><span class="problematic" id="id8">*</span></a>.wfn) file of the electron density
(Default: False)</p></li>
<li><p><strong>overwrite_inputs</strong> (<em>dict</em>) – <p>Dictionary of QChem input sections to add or overwrite variables.
The currently available sections (keys) are rem, pcm,
solvent, smx, opt, scan, van_der_waals, and plots. The value of each key is a
dictionary of key value pairs relevant to that section. For example, to add
a new variable to the rem section that sets symmetry to false, use</p>
<p>overwrite_inputs = {“rem”: {“symmetry”: “false”}}</p>
<p><strong>Note that if something like basis is added to the rem dict it will overwrite
the default basis.</strong></p>
<p><strong>Note that supplying a van_der_waals section here will automatically modify
the PCM “radii” setting to “read”.</strong></p>
<p><strong>Note that all keys must be given as strings, even when they are numbers!</strong></p>
</p></li>
<li><p><strong>vdw_mode</strong> (<em>'atomic'</em><em> | </em><em>'sequential'</em>) – Method of specifying custom van der Waals radii. Applies only if
you are using overwrite_inputs to add a $van_der_waals section to the input. In ‘atomic’ mode
(default), dict keys represent the atomic number associated with each radius (e.g., ‘12’ = carbon).
In ‘sequential’ mode, dict keys represent the sequential position of a single
specific atom in the input structure.</p></li>
</ul>
</dd>
</dl>
</dd></dl>

<dl class="py class">
<dt class="sig sig-object py" id="pymatgen.io.qchem.sets.QChemDictSet">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">QChemDictSet</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">molecule</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="pymatgen.core.html#pymatgen.core.structure.Molecule" title="pymatgen.core.structure.Molecule"><span class="pre">Molecule</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">job_type</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">basis_set</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scf_algorithm</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">qchem_version</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dft_rung</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">4</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pcm_dielectric</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">isosvp_dielectric</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">smd_solvent</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cmirs_solvent</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'water'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'acetonitrile'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'dimethyl</span> <span class="pre">sulfoxide'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'cyclohexane'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'benzene'</span></span><span class="p"><span class="pre">]</span></span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">custom_smd</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">opt_variables</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">list</span><span class="p"><span class="pre">]</span></span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scan_variables</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">list</span><span class="p"><span class="pre">]</span></span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_scf_cycles</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">100</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">geom_opt_max_cycles</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">200</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">plot_cubes</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">output_wavefunction</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">nbo_params</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">geom_opt</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cdft_constraints</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">dict</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">almo_coupling_states</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">tuple</span><span class="p"><span class="pre">[</span></span><span class="pre">int</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">int</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">overwrite_inputs</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">vdw_mode</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'atomic'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'sequential'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'atomic'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">extra_scf_print</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/sets.py#L130-L647"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.sets.QChemDictSet" title="Link to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#pymatgen.io.qchem.inputs.QCInput" title="pymatgen.io.qchem.inputs.QCInput"><code class="xref py py-class docutils literal notranslate"><span class="pre">QCInput</span></code></a></p>
<p>Build a QCInput given all the various input parameters. Can be extended by standard implementations below.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>molecule</strong> (<em>Pymatgen Molecule object</em>) – Molecule to run QChem on.</p></li>
<li><p><strong>job_type</strong> (<em>str</em>) – QChem job type to run. Valid options are “opt” for optimization,
“sp” for single point, “freq” for frequency calculation, or “force” for
force evaluation.</p></li>
<li><p><strong>basis_set</strong> (<em>str</em>) – Basis set to use. For example, “def2-tzvpd”.</p></li>
<li><p><strong>scf_algorithm</strong> (<em>str</em>) – Algorithm to use for converging the SCF. Recommended choices are
“DIIS”, “GDM”, and “DIIS_GDM”. Other algorithms supported by Qchem’s GEN_SCFMAN
module will also likely perform well. Refer to the QChem manual for further details.</p></li>
<li><p><strong>qchem_version</strong> (<em>int</em>) – Which major version of Q-Chem will be run. Supports 5 and 6. (Default: 5)</p></li>
<li><p><strong>dft_rung</strong> (<em>int</em>) – <p>Select the rung on “Jacob’s Ladder of Density Functional Approximations” in
order of increasing accuracy/cost. For each rung, we have prescribed one functional based
on our experience, available benchmarks, and the suggestions of the Q-Chem manual:
1 (LSDA) = SPW92
2 (GGA) = B97-D3(BJ)
3 (metaGGA) = B97M-V
4 (hybrid metaGGA) = ωB97M-V
5 (double hybrid metaGGA) = ωB97M-(2).</p>
<p>(Default: 4)</p>
<p>To set a functional not given by one of the above, set the overwrite_inputs
argument to {“method”:”&lt;NAME OF FUNCTIONAL&gt;”}</p>
</p></li>
<li><p><strong>pcm_dielectric</strong> (<em>float</em>) – <p>Dielectric constant to use for PCM implicit solvation model. (Default: None)
If supplied, will set up the $pcm section of the input file for a C-PCM calculation.
Other types of PCM calculations (e.g., IEF-PCM, SS(V)PE, etc.) may be requested by passing
custom keywords to overwrite_inputs, e.g.
overwrite_inputs = {“pcm”: {“theory”: “ssvpe”}}
Refer to the QChem manual for further details on the models available.</p>
<p><strong>Note that only one of pcm_dielectric, isosvp_dielectric, smd_solvent, or cmirs_solvent may be set.</strong></p>
</p></li>
<li><p><strong>isosvp_dielectric</strong> (<em>float</em>) – <p>Dielectric constant to use for isodensity SS(V)PE implicit solvation model.
(Default: None). If supplied, will set solvent_method to “isosvp” and populate the $svp section
of the input file with appropriate parameters.</p>
<p><strong>Note that only one of pcm_dielectric, isosvp_dielectric, smd_solvent, or cmirs_solvent may be set.</strong></p>
</p></li>
<li><p><strong>smd_solvent</strong> (<em>str</em>) – <p>Solvent to use for SMD implicit solvation model. (Default: None)
Examples include “water”, “ethanol”, “methanol”, and “acetonitrile”. Refer to the QChem
manual for a complete list of solvents available. To define a custom solvent, set this
argument to “custom” and populate custom_smd with the necessary parameters.</p>
<p><strong>Note that only one of pcm_dielectric, isosvp_dielectric, smd_solvent, or cmirs_solvent may be set.</strong></p>
</p></li>
<li><p><strong>cmirs_solvent</strong> (<em>str</em>) – <p>Solvent to use for the CMIRS implicit solvation model. (Default: None).
Only 5 solvents are presently available as of Q-Chem 6: “water”, “benzene”, “cyclohexane”,
“dimethyl sulfoxide”, and “acetonitrile”. Note that selection of a solvent here will also
populate the iso SS(V)PE dielectric constant, because CMIRS uses the isodensity SS(V)PE model
to compute electrostatics.</p>
<p><strong>Note that only one of pcm_dielectric, isosvp_dielectric, smd_solvent, or cmirs_solvent may be set.</strong></p>
</p></li>
<li><p><strong>custom_smd</strong> (<em>str</em>) – List of parameters to define a custom solvent in SMD. (Default: None)
Must be given as a string of seven comma separated values in the following order:
“dielectric, refractive index, acidity, basicity, surface tension, aromaticity,
electronegative halogenicity”
Refer to the QChem manual for further details.</p></li>
<li><p><strong>opt_variables</strong> (<em>dict</em>) – <p>A dictionary of opt sections, where each opt section is a key
and the corresponding values are a list of strings. Strings must be formatted
as instructed by the QChem manual. The different opt sections are: CONSTRAINT, FIXED,
DUMMY, and CONNECT.</p>
<p>Ex. opt = {“CONSTRAINT”: [“tors 2 3 4 5 25.0”, “tors 2 5 7 9 80.0”], “FIXED”: [“2 XY”]}</p>
</p></li>
<li><p><strong>scan_variables</strong> (<em>dict</em>) – <p>A dictionary of scan variables. Because two constraints of the
same type are allowed (for instance, two torsions or two bond stretches), each TYPE of
variable (stre, bend, tors) should be its own key in the dict, rather than each variable.
Note that the total number of variable (sum of lengths of all lists) CANNOT be more than two.</p>
<p>Ex. scan_variables = {“stre”: [“3 6 1.5 1.9 0.1”], “tors”: [“1 2 3 4 -180 180 15”]}</p>
</p></li>
<li><p><strong>max_scf_cycles</strong> (<em>int</em>) – Maximum number of SCF iterations. (Default: 100)</p></li>
<li><p><strong>geom_opt_max_cycles</strong> (<em>int</em>) – Maximum number of geometry optimization iterations. (Default: 200)</p></li>
<li><p><strong>plot_cubes</strong> (<em>bool</em>) – Whether to write CUBE files of the electron density. (Default: False)</p></li>
<li><p><strong>output_wavefunction</strong> (<em>bool</em>) – Whether to write a wavefunction (<a href="#id9"><span class="problematic" id="id10">*</span></a>.wfn) file of the electron density
(Default: False)</p></li>
<li><p><strong>nbo_params</strong> (<em>dict</em>) – A dict containing the desired NBO params. Note that a key:value pair of
“version”:7 will trigger NBO7 analysis. Otherwise, NBO5 analysis will be performed,
including if an empty dict is passed. Besides a key of “version”, all other key:value
pairs will be written into the $nbo section of the QChem input file. (Default: False)</p></li>
<li><p><strong>geom_opt</strong> (<em>dict</em>) – A dict containing parameters for the $geom_opt section of the Q-Chem input
file, which control the new geometry optimizer available starting in version 5.4.2. The
new optimizer remains under development but was officially released and became the default
optimizer in Q-Chem version 6.0.0. Note that for version 5.4.2, the new optimizer must be
explicitly requested by passing in a dictionary (empty or otherwise) for this input parameter.
(Default: False)</p></li>
<li><p><strong>vdw_mode</strong> (<em>'atomic'</em><em> | </em><em>'sequential'</em>) – <p>Method of specifying custom van der Waals radii. Applies
only if you are using overwrite_inputs to add a $van_der_waals section to the input.
In ‘atomic’ mode (default), dict keys represent the atomic number associated with each
radius (e.g., ‘12’ = carbon). In ‘sequential’ mode, dict keys represent the sequential
position of a single specific atom in the input structure.</p>
<blockquote>
<div><p>cdft_constraints (list of lists of dicts):</p>
</div></blockquote>
<p>A list of lists of dictionaries, where each dictionary represents a charge
constraint in the cdft section of the QChem input file.</p>
<p>Each entry in the main list represents one state (allowing for multi-configuration
calculations using constrained density functional theory - configuration interaction
(CDFT-CI). Each state is represented by a list, which itself contains some number of
constraints (dictionaries).</p>
<p>Ex:</p>
<ol class="arabic simple">
<li><p>For a single-state calculation with two constraints:</p></li>
</ol>
<blockquote>
<div><dl>
<dt>cdft_constraints=[[</dt><dd><dl class="simple">
<dt>{</dt><dd><p>“value”: 1.0,
“coefficients”: [1.0],
“first_atoms”: [1],
“last_atoms”: [2],
“types”: [None]</p>
</dd>
</dl>
<p>},
{</p>
<blockquote>
<div><p>”value”: 2.0,
“coefficients”: [1.0, -1.0],
“first_atoms”: [1, 17],
“last_atoms”: [3, 19],
“types”: [“s”]</p>
</div></blockquote>
<p>}</p>
</dd>
</dl>
</div></blockquote>
<p>]]</p>
<p>Note that a type of None will default to a charge constraint (which can also be
accessed by requesting a type of “c” or “charge”).</p>
<p>2. For a CDFT-CI multi-reference calculation:
cdft_constraints=[</p>
<blockquote>
<div><dl>
<dt>[</dt><dd><dl class="simple">
<dt>{</dt><dd><p>“value”: 1.0,
“coefficients”: [1.0],
“first_atoms”: [1],
“last_atoms”: [27],
“types”: [“c”]</p>
</dd>
</dl>
<p>},
{</p>
<blockquote>
<div><p>”value”: 0.0,
“coefficients”: [1.0],
“first_atoms”: [1],
“last_atoms”: [27],
“types”: [“s”]</p>
</div></blockquote>
<p>},</p>
</dd>
</dl>
<p>],
[</p>
<blockquote>
<div><dl class="simple">
<dt>{</dt><dd><p>“value”: 0.0,
“coefficients”: [1.0],
“first_atoms”: [1],
“last_atoms”: [27],
“types”: [“c”]</p>
</dd>
</dl>
<p>},
{</p>
<blockquote>
<div><p>”value”: -1.0,
“coefficients”: [1.0],
“first_atoms”: [1],
“last_atoms”: [27],
“types”: [“s”]</p>
</div></blockquote>
<p>},</p>
</div></blockquote>
<p>]</p>
</div></blockquote>
<p>]</p>
</p></li>
<li><p><strong>cdft_constraints</strong> (<em>list</em><em>[</em><em>list</em><em>[</em><em>dict</em><em>]</em><em>]</em>) – A list of lists of dictionaries, where each</p></li>
<li><p><strong>almo_coupling_states</strong> (<em>list</em><em> of </em><em>lists</em><em> of </em><em>int 2-tuples</em>) – <p>A list of lists of int 2-tuples used for calculations of diabatization and state
coupling calculations relying on the absolutely localized molecular orbitals (ALMO)
methodology. Each entry in the main list represents a single state (two states are
included in an ALMO calculation). Within a single state, each 2-tuple represents the
charge and spin multiplicity of a single fragment.
ex: almo_coupling_states=[</p>
<blockquote>
<div><blockquote>
<div><dl class="simple">
<dt>[</dt><dd><p>(1, 2),
(0, 1)</p>
</dd>
</dl>
<p>],
[</p>
<blockquote>
<div><p>(0, 1),
(1, 2)</p>
</div></blockquote>
<p>]</p>
</div></blockquote>
<p>]</p>
</div></blockquote>
</p></li>
<li><p><strong>overwrite_inputs</strong> (<em>dict</em>) – <p>Dictionary of QChem input sections to add or overwrite variables.
The currently available sections (keys) are rem, pcm,
solvent, smx, opt, scan, van_der_waals, and plots. The value of each key is a
dictionary of key value pairs relevant to that section. For example, to add
a new variable to the rem section that sets symmetry to false, use</p>
<p>overwrite_inputs = {“rem”: {“symmetry”: “false”}}</p>
<p><strong>Note that if something like basis is added to the rem dict it will overwrite
the default basis.</strong></p>
<p><strong>Note that supplying a van_der_waals section here will automatically modify
the PCM “radii” setting to “read”.</strong></p>
<p><strong>Note that all keys must be given as strings, even when they are numbers!</strong></p>
</p></li>
<li><p><strong>vdw_mode</strong> – Method of specifying custom van der Waals radii. Applies
only if you are using overwrite_inputs to add a $van_der_waals section to the input.
In ‘atomic’ mode (default), dict keys represent the atomic number associated with each
radius (e.g., ‘12’ = carbon). In ‘sequential’ mode, dict keys represent the sequential
position of a single specific atom in the input structure.</p></li>
<li><p><strong>extra_scf_print</strong> (<em>bool</em>) – Whether to store extra information generated from the SCF
cycle. If switched on, the Fock Matrix, coefficients of MO and the density matrix
will be stored.</p></li>
</ul>
</dd>
</dl>
<dl class="py method">
<dt class="sig sig-object py" id="pymatgen.io.qchem.sets.QChemDictSet.write">
<span class="sig-name descname"><span class="pre">write</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">input_file</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">PathLike</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/sets.py#L639-L647"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.sets.QChemDictSet.write" title="Link to this definition"></a></dt>
<dd><dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>input_file</strong> (<em>PathLike</em>) – Filename.</p>
</dd>
</dl>
</dd></dl>

</dd></dl>

<dl class="py class">
<dt class="sig sig-object py" id="pymatgen.io.qchem.sets.SinglePointSet">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">SinglePointSet</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">molecule</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="pymatgen.core.html#pymatgen.core.structure.Molecule" title="pymatgen.core.structure.Molecule"><span class="pre">Molecule</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">basis_set</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'def2-tzvpd'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scf_algorithm</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'diis'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">qchem_version</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dft_rung</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">4</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pcm_dielectric</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">isosvp_dielectric</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">smd_solvent</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cmirs_solvent</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'water'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'acetonitrile'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'dimethyl</span> <span class="pre">sulfoxide'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'cyclohexane'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'benzene'</span></span><span class="p"><span class="pre">]</span></span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">custom_smd</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_scf_cycles</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">100</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">plot_cubes</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">output_wavefunction</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">nbo_params</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">vdw_mode</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'atomic'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'sequential'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'atomic'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cdft_constraints</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">dict</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">almo_coupling_states</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">tuple</span><span class="p"><span class="pre">[</span></span><span class="pre">int</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">int</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">extra_scf_print</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">overwrite_inputs</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/sets.py#L650-L875"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.sets.SinglePointSet" title="Link to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#pymatgen.io.qchem.sets.QChemDictSet" title="pymatgen.io.qchem.sets.QChemDictSet"><code class="xref py py-class docutils literal notranslate"><span class="pre">QChemDictSet</span></code></a></p>
<p>QChemDictSet for a single point calculation.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>molecule</strong> (<em>Pymatgen Molecule object</em>)</p></li>
<li><p><strong>job_type</strong> (<em>str</em>) – QChem job type to run. Valid options are “opt” for optimization,
“sp” for single point, “freq” for frequency calculation, or “force” for
force evaluation.</p></li>
<li><p><strong>basis_set</strong> (<em>str</em>) – Basis set to use. (Default: “def2-tzvpd”)</p></li>
<li><p><strong>scf_algorithm</strong> (<em>str</em>) – Algorithm to use for converging the SCF. Recommended choices are
“DIIS”, “GDM”, and “DIIS_GDM”. Other algorithms supported by Qchem’s GEN_SCFMAN
module will also likely perform well. Refer to the QChem manual for further details.
(Default: “diis”)</p></li>
<li><p><strong>qchem_version</strong> (<em>int</em>) – Which major version of Q-Chem will be run. Supports 5 and 6. (Default: 5)</p></li>
<li><p><strong>dft_rung</strong> (<em>int</em>) – <p>Select the rung on “Jacob’s Ladder of Density Functional Approximations” in
order of increasing accuracy/cost. For each rung, we have prescribed one functional based
on our experience, available benchmarks, and the suggestions of the Q-Chem manual:
1 (LSDA) = SPW92
2 (GGA) = B97-D3(BJ)
3 (metaGGA) = B97M-V
4 (hybrid metaGGA) = ωB97M-V
5 (double hybrid metaGGA) = ωB97M-(2).</p>
<p>(Default: 4)</p>
<p>To set a functional not given by one of the above, set the overwrite_inputs
argument to {“method”:”&lt;NAME OF FUNCTIONAL&gt;”}</p>
</p></li>
<li><p><strong>pcm_dielectric</strong> (<em>float</em>) – <p>Dielectric constant to use for PCM implicit solvation model. (Default: None)
If supplied, will set up the $pcm section of the input file for a C-PCM calculation.
Other types of PCM calculations (e.g., IEF-PCM, SS(V)PE, etc.) may be requested by passing
custom keywords to overwrite_inputs, e.g.
overwrite_inputs = {“pcm”: {“theory”: “ssvpe”}}
Refer to the QChem manual for further details on the models available.</p>
<p><strong>Note that only one of pcm_dielectric, isosvp_dielectric, smd_solvent, or cmirs_solvent may be set.</strong></p>
</p></li>
<li><p><strong>isosvp_dielectric</strong> (<em>float</em>) – <p>Dielectric constant to use for isodensity SS(V)PE implicit solvation model.
(Default: None). If supplied, will set solvent_method to “isosvp” and populate the $svp section
of the input file with appropriate parameters. Note that due to limitations in Q-Chem, use of the ISOSVP
or CMIRS solvent models will disable the GEN_SCFMAN algorithm, which may limit compatible choices
for scf_algorithm.</p>
<p><strong>Note that only one of pcm_dielectric, isosvp_dielectric, smd_solvent, or cmirs_solvent may be set.</strong></p>
</p></li>
<li><p><strong>smd_solvent</strong> (<em>str</em>) – <p>Solvent to use for SMD implicit solvation model. (Default: None)
Examples include “water”, “ethanol”, “methanol”, and “acetonitrile”. Refer to the QChem
manual for a complete list of solvents available. To define a custom solvent, set this
argument to “custom” and populate custom_smd with the necessary parameters.</p>
<p><strong>Note that only one of pcm_dielectric, isosvp_dielectric, smd_solvent, or cmirs_solvent may be set.</strong></p>
</p></li>
<li><p><strong>cmirs_solvent</strong> (<em>str</em>) – <p>Solvent to use for the CMIRS implicit solvation model. (Default: None).
Only 5 solvents are presently available as of Q-Chem 6: “water”, “benzene”, “cyclohexane”,
“dimethyl sulfoxide”, and “acetonitrile”. Note that selection of a solvent here will also
populate the iso SS(V)PE dielectric constant, because CMIRS uses the isodensity SS(V)PE model
to compute electrostatics. Note also that due to limitations in Q-Chem, use of the ISOSVP
or CMIRS solvent models will disable the GEN_SCFMAN algorithm, which may limit compatible choices
for scf_algorithm.</p>
<p><strong>Note that only one of pcm_dielectric, isosvp_dielectric, smd_solvent, or cmirs_solvent may be set.</strong></p>
</p></li>
<li><p><strong>custom_smd</strong> (<em>str</em>) – List of parameters to define a custom solvent in SMD. (Default: None)
Must be given as a string of seven comma separated values in the following order:
“dielectric, refractive index, acidity, basicity, surface tension, aromaticity,
electronegative halogenicity”
Refer to the QChem manual for further details.</p></li>
<li><p><strong>max_scf_cycles</strong> (<em>int</em>) – Maximum number of SCF iterations. (Default: 100)</p></li>
<li><p><strong>plot_cubes</strong> (<em>bool</em>) – Whether to write CUBE files of the electron density. (Default: False)</p></li>
<li><p><strong>output_wavefunction</strong> (<em>bool</em>) – Whether to write a wavefunction (<a href="#id11"><span class="problematic" id="id12">*</span></a>.wfn) file of the electron density
(Default: False)</p></li>
<li><p><strong>cdft_constraints</strong> (<em>list</em><em> of </em><em>lists</em><em> of </em><em>dicts</em>) – <p>A list of lists of dictionaries, where each dictionary represents a charge
constraint in the cdft section of the QChem input file.</p>
<p>Each entry in the main list represents one state (allowing for multi-configuration
calculations using constrained density functional theory - configuration interaction
(CDFT-CI). Each state is represented by a list, which itself contains some number of
constraints (dictionaries).</p>
<p>Ex:</p>
<ol class="arabic simple">
<li><p>For a single-state calculation with two constraints:</p></li>
</ol>
<blockquote>
<div><dl>
<dt>cdft_constraints=[[</dt><dd><dl class="simple">
<dt>{</dt><dd><p>“value”: 1.0,
“coefficients”: [1.0],
“first_atoms”: [1],
“last_atoms”: [2],
“types”: [None]</p>
</dd>
</dl>
<p>},
{</p>
<blockquote>
<div><p>”value”: 2.0,
“coefficients”: [1.0, -1.0],
“first_atoms”: [1, 17],
“last_atoms”: [3, 19],
“types”: [“s”]</p>
</div></blockquote>
<p>}</p>
</dd>
</dl>
</div></blockquote>
<p>]]</p>
<p>Note that a type of None will default to a charge constraint (which can also be
accessed by requesting a type of “c” or “charge”).</p>
<p>2. For a CDFT-CI multi-reference calculation:
cdft_constraints=[</p>
<blockquote>
<div><dl>
<dt>[</dt><dd><dl class="simple">
<dt>{</dt><dd><p>“value”: 1.0,
“coefficients”: [1.0],
“first_atoms”: [1],
“last_atoms”: [27],
“types”: [“c”]</p>
</dd>
</dl>
<p>},
{</p>
<blockquote>
<div><p>”value”: 0.0,
“coefficients”: [1.0],
“first_atoms”: [1],
“last_atoms”: [27],
“types”: [“s”]</p>
</div></blockquote>
<p>},</p>
</dd>
</dl>
<p>],
[</p>
<blockquote>
<div><dl class="simple">
<dt>{</dt><dd><p>“value”: 0.0,
“coefficients”: [1.0],
“first_atoms”: [1],
“last_atoms”: [27],
“types”: [“c”]</p>
</dd>
</dl>
<p>},
{</p>
<blockquote>
<div><p>”value”: -1.0,
“coefficients”: [1.0],
“first_atoms”: [1],
“last_atoms”: [27],
“types”: [“s”]</p>
</div></blockquote>
<p>},</p>
</div></blockquote>
<p>]</p>
</div></blockquote>
<p>]</p>
</p></li>
<li><p><strong>almo_coupling_states</strong> (<em>list</em><em> of </em><em>lists</em><em> of </em><em>int 2-tuples</em>) – <p>A list of lists of int 2-tuples used for calculations of diabatization and state
coupling calculations relying on the absolutely localized molecular orbitals (ALMO)
methodology. Each entry in the main list represents a single state (two states are
included in an ALMO calculation). Within a single state, each 2-tuple represents the
charge and spin multiplicity of a single fragment.
ex: almo_coupling_states=[</p>
<blockquote>
<div><blockquote>
<div><dl class="simple">
<dt>[</dt><dd><p>(1, 2),
(0, 1)</p>
</dd>
</dl>
<p>],
[</p>
<blockquote>
<div><p>(0, 1),
(1, 2)</p>
</div></blockquote>
<p>]</p>
</div></blockquote>
<p>]</p>
</div></blockquote>
</p></li>
<li><p><strong>vdw_mode</strong> (<em>'atomic'</em><em> | </em><em>'sequential'</em>) – Method of specifying custom van der Waals radii. Applies
only if you are using overwrite_inputs to add a $van_der_waals section to the input.
In ‘atomic’ mode (default), dict keys represent the atomic number associated with each
radius (e.g., ‘12’ = carbon). In ‘sequential’ mode, dict keys represent the sequential
position of a single specific atom in the input structure.</p></li>
<li><p><strong>overwrite_inputs</strong> (<em>dict</em>) – <p>Dictionary of QChem input sections to add or overwrite variables.
The currently available sections (keys) are rem, pcm,
solvent, smx, opt, scan, van_der_waals, and plots. The value of each key is a
dictionary of key value pairs relevant to that section. For example, to add
a new variable to the rem section that sets symmetry to false, use</p>
<p>overwrite_inputs = {“rem”: {“symmetry”: “false”}}</p>
<p><strong>Note that if something like basis is added to the rem dict it will overwrite
the default basis.</strong></p>
<p><strong>Note that supplying a van_der_waals section here will automatically modify
the PCM “radii” setting to “read”.</strong></p>
<p><strong>Note that all keys must be given as strings, even when they are numbers!</strong></p>
</p></li>
<li><p><strong>vdw_mode</strong> – Method of specifying custom van der Waals radii. Applies
only if you are using overwrite_inputs to add a $van_der_waals section to the input.
In ‘atomic’ mode (default), dict keys represent the atomic number associated with each
radius (e.g., ‘12’ = carbon). In ‘sequential’ mode, dict keys represent the sequential
position of a single specific atom in the input structure.</p></li>
<li><p><strong>extra_scf_print</strong> (<em>bool</em>) – Whether to store extra information generated from the SCF
cycle. If switched on, the Fock Matrix, coefficients of MO and the density matrix
will be stored.</p></li>
</ul>
</dd>
</dl>
</dd></dl>

<dl class="py class">
<dt class="sig sig-object py" id="pymatgen.io.qchem.sets.TransitionStateSet">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">TransitionStateSet</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">molecule</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="pymatgen.core.html#pymatgen.core.structure.Molecule" title="pymatgen.core.structure.Molecule"><span class="pre">Molecule</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">basis_set</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'def2-svpd'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scf_algorithm</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'diis'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">qchem_version</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dft_rung</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">4</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pcm_dielectric</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">isosvp_dielectric</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">smd_solvent</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cmirs_solvent</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'water'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'acetonitrile'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'dimethyl</span> <span class="pre">sulfoxide'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'cyclohexane'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'benzene'</span></span><span class="p"><span class="pre">]</span></span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">custom_smd</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_scf_cycles</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">100</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">plot_cubes</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">output_wavefunction</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">nbo_params</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">opt_variables</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">list</span><span class="p"><span class="pre">]</span></span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">geom_opt_max_cycles</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">200</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">geom_opt</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">overwrite_inputs</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">vdw_mode</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'atomic'</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/sets.py#L1091-L1226"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.sets.TransitionStateSet" title="Link to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#pymatgen.io.qchem.sets.QChemDictSet" title="pymatgen.io.qchem.sets.QChemDictSet"><code class="xref py py-class docutils literal notranslate"><span class="pre">QChemDictSet</span></code></a></p>
<p>QChemDictSet for a transition-state search.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>molecule</strong> (<em>Pymatgen Molecule object</em>)</p></li>
<li><p><strong>basis_set</strong> (<em>str</em>) – Basis set to use. (Default: “def2-svpd”)</p></li>
<li><p><strong>scf_algorithm</strong> (<em>str</em>) – Algorithm to use for converging the SCF. Recommended choices are
“DIIS”, “GDM”, and “DIIS_GDM”. Other algorithms supported by Qchem’s GEN_SCFMAN
module will also likely perform well. Refer to the QChem manual for further details.
(Default: “diis”)</p></li>
<li><p><strong>qchem_version</strong> (<em>int</em>) – Which major version of Q-Chem will be run. Supports 5 and 6. (Default: 5)</p></li>
<li><p><strong>dft_rung</strong> (<em>int</em>) – <p>Select the rung on “Jacob’s Ladder of Density Functional Approximations” in
order of increasing accuracy/cost. For each rung, we have prescribed one functional based
on our experience, available benchmarks, and the suggestions of the Q-Chem manual:
1 (LSDA) = SPW92
2 (GGA) = B97-D3(BJ)
3 (metaGGA) = B97M-V
4 (hybrid metaGGA) = ωB97M-V
5 (double hybrid metaGGA) = ωB97M-(2).</p>
<p>(Default: 4)</p>
<p>To set a functional not given by one of the above, set the overwrite_inputs
argument to {“method”:”&lt;NAME OF FUNCTIONAL&gt;”}</p>
</p></li>
<li><p><strong>pcm_dielectric</strong> (<em>float</em>) – <p>Dielectric constant to use for PCM implicit solvation model. (Default: None)
If supplied, will set up the $pcm section of the input file for a C-PCM calculation.
Other types of PCM calculations (e.g., IEF-PCM, SS(V)PE, etc.) may be requested by passing
custom keywords to overwrite_inputs, e.g.
overwrite_inputs = {“pcm”: {“theory”: “ssvpe”}}
Refer to the QChem manual for further details on the models available.</p>
<p><strong>Note that only one of pcm_dielectric, isosvp_dielectric, smd_solvent, or cmirs_solvent may be set.</strong></p>
</p></li>
<li><p><strong>isosvp_dielectric</strong> (<em>float</em>) – <p>Dielectric constant to use for isodensity SS(V)PE implicit solvation model.
(Default: None). If supplied, will set solvent_method to “isosvp” and populate the $svp section
of the input file with appropriate parameters.</p>
<p><strong>Note that only one of pcm_dielectric, isosvp_dielectric, smd_solvent, or cmirs_solvent may be set.</strong></p>
</p></li>
<li><p><strong>smd_solvent</strong> (<em>str</em>) – <p>Solvent to use for SMD implicit solvation model. (Default: None)
Examples include “water”, “ethanol”, “methanol”, and “acetonitrile”. Refer to the QChem
manual for a complete list of solvents available. To define a custom solvent, set this
argument to “custom” and populate custom_smd with the necessary parameters.</p>
<p><strong>Note that only one of pcm_dielectric, isosvp_dielectric, smd_solvent, or cmirs_solvent may be set.</strong></p>
</p></li>
<li><p><strong>cmirs_solvent</strong> (<em>str</em>) – <p>Solvent to use for the CMIRS implicit solvation model. (Default: None).
Only 5 solvents are presently available as of Q-Chem 6: “water”, “benzene”, “cyclohexane”,
“dimethyl sulfoxide”, and “acetonitrile”. Note that selection of a solvent here will also
populate the iso SS(V)PE dielectric constant, because CMIRS uses the isodensity SS(V)PE model
to compute electrostatics.</p>
<p><strong>Note that only one of pcm_dielectric, isosvp_dielectric, smd_solvent, or cmirs_solvent may be set.</strong></p>
</p></li>
<li><p><strong>custom_smd</strong> (<em>str</em>) – List of parameters to define a custom solvent in SMD. (Default: None)
Must be given as a string of seven comma separated values in the following order:
“dielectric, refractive index, acidity, basicity, surface tension, aromaticity,
electronegative halogenicity”
Refer to the QChem manual for further details.</p></li>
<li><p><strong>max_scf_cycles</strong> (<em>int</em>) – Maximum number of SCF iterations. (Default: 100)</p></li>
<li><p><strong>geom_opt_max_cycles</strong> (<em>int</em>) – Maximum number of geometry optimization iterations. (Default: 200)</p></li>
<li><p><strong>geom_opt</strong> (<em>dict</em>) – A dict containing parameters for the $geom_opt section of the Q-Chem input
file, which control the new geometry optimizer available starting in version 5.4.2. The
new optimizer remains under development but was officially released and became the default
optimizer in Q-Chem version 6.0.0. Note that for version 5.4.2, the new optimizer must be
explicitly requested by passing in a dictionary (empty or otherwise) for this input parameter.
(Default: False)</p></li>
<li><p><strong>plot_cubes</strong> (<em>bool</em>) – Whether to write CUBE files of the electron density. (Default: False)</p></li>
<li><p><strong>output_wavefunction</strong> (<em>bool</em>) – Whether to write a wavefunction (<a href="#id13"><span class="problematic" id="id14">*</span></a>.wfn) file of the electron density
(Default: False)</p></li>
<li><p><strong>overwrite_inputs</strong> (<em>dict</em>) – <p>Dictionary of QChem input sections to add or overwrite variables.
The currently available sections (keys) are rem, pcm,
solvent, smx, opt, scan, van_der_waals, and plots. The value of each key is a
dictionary of key value pairs relevant to that section. For example, to add
a new variable to the rem section that sets symmetry to false, use</p>
<p>overwrite_inputs = {“rem”: {“symmetry”: “false”}}</p>
<p><strong>Note that if something like basis is added to the rem dict it will overwrite
the default basis.</strong></p>
<p><strong>Note that supplying a van_der_waals section here will automatically modify
the PCM “radii” setting to “read”.</strong></p>
<p><strong>Note that all keys must be given as strings, even when they are numbers!</strong></p>
</p></li>
<li><p><strong>vdw_mode</strong> (<em>'atomic'</em><em> | </em><em>'sequential'</em>) – Method of specifying custom van der Waals radii. Applies
only if you are using overwrite_inputs to add a $van_der_waals section to the input.
In ‘atomic’ mode (default), dict keys represent the atomic number associated with each
radius (e.g., ‘12’ = carbon). In ‘sequential’ mode, dict keys represent the sequential
position of a single specific atom in the input structure.</p></li>
</ul>
</dd>
</dl>
</dd></dl>

</section>
<section id="module-pymatgen.io.qchem.utils">
<span id="pymatgen-io-qchem-utils-module"></span><h2>pymatgen.io.qchem.utils module<a class="headerlink" href="#module-pymatgen.io.qchem.utils" title="Link to this heading"></a></h2>
<p>Utilities for Qchem io.</p>
<dl class="py function">
<dt class="sig sig-object py" id="pymatgen.io.qchem.utils.lower_and_check_unique">
<span class="sig-name descname"><span class="pre">lower_and_check_unique</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">dict_to_check</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/utils.py#L124-L162"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.utils.lower_and_check_unique" title="Link to this definition"></a></dt>
<dd><p>Takes a dictionary and makes all the keys lower case. Also converts all numeric
values (floats, ints) to str and replaces “jobtype” with “job_type” just so that
key specifically can be called elsewhere without ambiguity. Finally, ensures that
multiple identical keys, that differed only due to different capitalizations, are not
present. If there are multiple equivalent keys, an Exception is raised.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>dict_to_check</strong> (<em>dict</em>) – The dictionary to check and standardize</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><dl class="simple">
<dt>An identical dictionary but with all keys made</dt><dd><p>lower case and no identical keys present.</p>
</dd>
</dl>
</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p>dict</p>
</dd>
</dl>
</dd></dl>

<dl class="py function">
<dt class="sig sig-object py" id="pymatgen.io.qchem.utils.process_parsed_coords">
<span class="sig-name descname"><span class="pre">process_parsed_coords</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">coords</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/utils.py#L165-L173"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.utils.process_parsed_coords" title="Link to this definition"></a></dt>
<dd><p>Takes a set of parsed coordinates, which come as an array of strings,
and returns a numpy array of floats.</p>
</dd></dl>

<dl class="py function">
<dt class="sig sig-object py" id="pymatgen.io.qchem.utils.process_parsed_fock_matrix">
<span class="sig-name descname"><span class="pre">process_parsed_fock_matrix</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">fock_matrix</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/utils.py#L176-L203"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.utils.process_parsed_fock_matrix" title="Link to this definition"></a></dt>
<dd><p>The Fock matrix is parsed as a list, while it should actually be
a square matrix, this function takes the list of finds the right dimensions
in order to reshape the matrix.</p>
</dd></dl>

<dl class="py function">
<dt class="sig sig-object py" id="pymatgen.io.qchem.utils.process_parsed_hess">
<span class="sig-name descname"><span class="pre">process_parsed_hess</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">hess_data</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">list</span><span class="p"><span class="pre">[</span></span><span class="pre">int</span><span class="p"><span class="pre">]</span></span></span></span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/utils.py#L206-L229"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.utils.process_parsed_hess" title="Link to this definition"></a></dt>
<dd><p>Takes the information contained in a HESS file and converts it into
the format of the machine-readable 132.0 file which can be printed
out to be read into subsequent optimizations.</p>
</dd></dl>

<dl class="py function">
<dt class="sig sig-object py" id="pymatgen.io.qchem.utils.read_matrix_pattern">
<span class="sig-name descname"><span class="pre">read_matrix_pattern</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">header_pattern</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">footer_pattern</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">elements_pattern</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">text</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">postprocess=&lt;class</span> <span class="pre">'str'&gt;</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/utils.py#L43-L56"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.utils.read_matrix_pattern" title="Link to this definition"></a></dt>
<dd><p>Parse a matrix to get the quantities in a numpy array.</p>
</dd></dl>

<dl class="py function">
<dt class="sig sig-object py" id="pymatgen.io.qchem.utils.read_pattern">
<span class="sig-name descname"><span class="pre">read_pattern</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">text_str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">patterns</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">terminate_on_match=False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">postprocess=&lt;class</span> <span class="pre">'str'&gt;</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/utils.py#L14-L40"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.utils.read_pattern" title="Link to this definition"></a></dt>
<dd><p>General pattern reading on an input string.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>text_str</strong> (<em>str</em>) – the input string to search for patterns</p></li>
<li><p><strong>patterns</strong> (<em>dict</em>) – A dict of patterns, e.g.
{“energy”: r”energy\(sigma-&gt;0\)\s+=\s+([\d\-.]+)”}.</p></li>
<li><p><strong>terminate_on_match</strong> (<em>bool</em>) – Whether to terminate when there is at
least one match in each key in pattern.</p></li>
<li><p><strong>postprocess</strong> (<em>callable</em>) – A post processing function to convert all
matches. Defaults to str, i.e., no change.</p></li>
</ul>
</dd>
</dl>
<dl class="simple">
<dt>Renders accessible:</dt><dd><p>Any attribute in patterns. For example,
{“energy”: r”energy\(sigma-&gt;0\)\s+=\s+([\d\-.]+)”} will set the
value of matches[“energy”] = [[-1234], [-3453], …], to the
results from regex and postprocess. Note that the returned values
are lists of lists, because you can grep multiple items on one line.</p>
</dd>
</dl>
</dd></dl>

<dl class="py function">
<dt class="sig sig-object py" id="pymatgen.io.qchem.utils.read_table_pattern">
<span class="sig-name descname"><span class="pre">read_table_pattern</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">text_str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">header_pattern</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">row_pattern</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">footer_pattern</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">postprocess=&lt;class</span> <span class="pre">'str'&gt;</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">attribute_name=None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">last_one_only=False</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/materialsproject/pymatgen/blob/v2025.6.14/src/pymatgen/core/../io/qchem/utils.py#L59-L121"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pymatgen.io.qchem.utils.read_table_pattern" title="Link to this definition"></a></dt>
<dd><p>Parse table-like data. A table composes of three parts: header,
main body, footer. All the data matches “row pattern” in the main body
will be returned.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>text_str</strong> (<em>str</em>) – the input string to search for patterns</p></li>
<li><p><strong>header_pattern</strong> (<em>str</em>) – The regular expression pattern matches the
table header. This pattern should match all the text
immediately before the main body of the table. For multiple
sections table match the text until the section of
interest. MULTILINE and DOTALL options are enforced, as a
result, the “.” meta-character will also match “n” in this
section.</p></li>
<li><p><strong>row_pattern</strong> (<em>str</em>) – The regular expression matches a single line in
the table. Capture interested field using regular expression
groups.</p></li>
<li><p><strong>footer_pattern</strong> (<em>str</em>) – The regular expression matches the end of the
table. E.g. a long dash line.</p></li>
<li><p><strong>postprocess</strong> (<em>callable</em>) – A post processing function to convert all
matches. Defaults to str, i.e., no change.</p></li>
<li><p><strong>attribute_name</strong> (<em>str</em>) – Name of this table. If present the parsed data
will be attached to “data. e.g. self.data[“efg”] = […]</p></li>
<li><p><strong>last_one_only</strong> (<em>bool</em>) – All the tables will be parsed, if this option
is set to True, only the last table will be returned. The
enclosing list will be removed. i.e. Only a single table will
be returned. Default to be True.</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>List of tables. 1) A table is a list of rows. 2) A row if either a list of
attribute values in case the capturing group is defined without name in
row_pattern, or a dict in case that named capturing groups are defined by
row_pattern.</p>
</dd>
</dl>
</dd></dl>

</section>
</section>


           </div>
          </div>
          <footer>

  <hr/>

  <div role="contentinfo">
    <p>&#169; Copyright 2011, Pymatgen Development Team.</p>
  </div>

  Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
    <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
    provided by <a href="https://readthedocs.org">Read the Docs</a>.
   

</footer>
        </div>
      </div>
    </section>
  </div>
  <script>
      jQuery(function () {
          SphinxRtdTheme.Navigation.enable(true);
      });
  </script> 

</body>
</html>
